Show HN: Vue Dark Mode – A Minimalist Dark Design System for Vue.js
vuedarkmode.com
vuedarkmode.com
I always learnt to keep markup and styles separate as much as possible, because that was beneficial for re-use, maintainability, etc. I would see the JS framework as providing the markup part, so surely the styles should be an orthogonal concern? Would this library not be better as a CSS library that apps can use regardless of the JS (or lack of JS) that they choose to have?
I find myself taking a hybrid approach these days: common styles and variables (primarily variables) in global SCSS/Stylus stylesheets, and component-specific styles defined in the respective Vue components.
As it turns out, I have very few truly common CSS classes.
EDIT: To address the re-usability aspect as well: this approach absolutely makes it more difficult to re-use styles across other frameworks; but if I'm moving from Vue to some-new-framework, stylesheets are the least of my concerns.
Bulma -> Buefy Bootstrap -> VueBootstrap, et al.
That said, if you're already using Vue, then a Vue-based framework is more convenient.
But how cool is that? A css file. Not as cool and professional as a 'Design System for <frameworkname>'.
Also, in my experience is that once a developer has mastered a framework, they are so proud of it the tie everything to the framework. To pledge their allegiance. And to signal to the pack "Hey, I'm part of the family!".
Why do you feel the need to make sweeping generalizations about the author and the author's work? Just shitting on someone/something for the sake of it?
If you really find the default browser focus ring ugly, feel free to style it or provide another alternative (like a box shadow).
If you put these components into a <form> tab would work fine. The :focus state would still happen, and that's what's styled.
edit: I see what you're saying. I was only looking at form inputs, but i see no focus state on buttons as you said.
Two comments: 1) I am really not sure about the resizing hover animation on the buttons (it feels too slow and looks like it goes a bit blurry as it resizes, at least on my non-retina external display); 2) I don't think the checkbox having the tick in it in the unchecked hover state is the right behaviour and will probably confuse some users.
^ I hesitated writing that, since it was all speculation, but then I clicked the link at the bottom saying "Hire me!" to see the designer's website and...
html {
font-family: "Avenir";
}
No fallbacks whatsoever, so I'm seeing Times New Roman.- clicking an input with placeholder text brings the cursor to the front of the input text and doesn't erase the existing text. This is very bad UX.
- no example of a full form with validation errors
- no file upload input
- no HTML5 number input
- no multi-select clearable/filterable selectboxes... select2 style selects are pretty standard these days
- no date/time picker, another essential form component
Not trying to be critical, I'm sure these will come with time. But this is far from a production usable framework in its current state.
[0]: http://uxmovement.com/forms/why-infield-top-aligned-form-lab...
I'm not that into frontend dev, I mostly stick with backend and devops so for me, when I need to make a front end without a ton of bells and whistles, this kind of stuff saves my no-css-skills-on-my-resume butt!
I’d suggest to consider a different name, that would identify the design system (like Blueprint or Material), not a feature of an existing framework.
One observation: your select options are unreadable in Chrome on Linux. You probably need a colour other than white for the option text.
(By the way, the new stuff from Google in which they have made Material Design much more configurable, is a great shift in the right direction. Of course it would be even better if the whole material-ness of an application were a runtime switch, but there are significant obstacles to that.)
Also, is there a reason why we can't toggle on and off dark mode to compare it to a non dark mode?
Two notes:
- The Nuxt.js code sample is the exact same as the Vue.js one — unless that's intentional
- The button icons have `cursor: default;` on them which is kind of weird because the buttons are `cursor: pointer`. Perhaps keep it consistent?
(= gravity* 1.8 timebase* 120 front-threshold* 1
nourl-factor* .4 lightweight-factor* .17 gag-factor* .1)
(def frontpage-rank (s (o scorefn realscore) (o gravity gravity*))
(* (/ (let base (- (scorefn s) 1)
(if (> base 0) (expt base .8) base))
(expt (/ (+ (item-age s) timebase*) 60) gravity))
(if (no (in s!type 'story 'poll)) .8
(blank s!url) nourl-factor*
(mem 'bury s!keys) .001
(* (contro-factor s)
(if (mem 'gag s!keys)
gag-factor*
(lightweight s)
lightweight-factor*
1)))))
[1] - https://news.ycombinator.com/item?id=1781417On the front page of Hacker News right now we have articles about conservation, witchcraft, the death of an author, the Japanese language, horror and WWI, and ketchup.
And this is a relatively tame day.
A theme for an extremely popular framework used by many "hackers", created by a fellow HNer and presented as a "Show HN"... this seems exactly in line with the spirit of Hacker News. This is the kind of thing I would expect to see on the front page.