-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support dark mode #1888
base: gh-pages
Are you sure you want to change the base?
Support dark mode #1888
Conversation
This will need a ton of work. There are way too many hard-coded colors in the current version of our CSS. They will need to be expressed in terms of CSS custom properties, and I have a hunch that there lurks also a really good opportunity to use not quite as many different colors, but to reduce by reusing fewer colors, which should also make the overall appearance nicer. However, I think I saw a couple of color definitions that were not even used. So before trying to encapsulate the color palette, we should probably use something like https://github.com/purifycss/purifycss to identify parts that are no longer needed (I manually identified three lines already that can easily go and stop bothering us). No need to adapt unused CSS. And finally, as I said elsewhere, I have no illusions about being a designer, and hope that someone with a proven record of a better design taste than myself (@To1ne maybe?) will give this some TLC. |
For shiggles, I branch-deployed this to https://dscho.github.io/git-scm.com/. |
Looking at that on Firefox 130.0.1 on Android it has some issues still. The dark mode just ends appruptly. Switching to light mode only toggles the text, but not the background. |
But I do think the parts that work look quite nice. |
Right, that's one thing I could not figure out. You will notice the
Thank you! There's still a ton of work to do, in particular cleaning up the CSS and then consolidating the remaining hard-coded colors into CSS custom properties à la |
a5dc1e9
to
e0c17c7
Compare
I've decided to punt on the CSS clean-up for now ;-) @rimrul @To1ne I've updated this branch and deployed it to https://dscho.github.io/git-scm.com/; Would you mind giving it another go? For the record, here are a couple of Firefox Mobile screenshots: |
@dscho I've had a more thorough look at it. Overall I'm quite impressed! Shout outs:
Few things:
All this is based on visual review, I didn't review any of the code. I can, if you like to? If you like I can submit some patches with suggestions? |
I would love that! |
Maybe next week. |
I just noticed that the selected OS in https://dscho.github.io/git-scm.com/downloads/guis?os=windows is not visibly discernible from non-selected ones in Dark Mode; That's also something that still needs to be fixed (leaving this here as a reminder). |
@TheGiraffe3 could you help out and contribute fixed icons, preferably as a PR to my branch? |
I'll try. |
There's a pull request up for that: dscho#16. |
@TheGiraffe3 Cool work. Do you happen to have screenshots of both in light and dark mode? @dscho About the logos in general. I think we should reconsider which/if they are relevant, but that's something for a separate MR/issue. Shall we open an issue on that? Or ask on the mailing list? My idea was to simply put the light background on all logos in CSS, even in dark mode (so the images without transparent background wouldn't stand out against the rest), but I haven't gotten to that yet. Then when we know which logos we want to keep/add/remove we could update the images accordingly. But thanks to @TheGiraffe3 that's not needed no more. |
On the website? |
@TheGiraffe3 doesn't need to be a deployed version, can be a screenshot when running the site locally. I suggest you have a look at the README and let us know if anything isn't clear how to preview the site locally? Anyhow, I've taken the liberty of running your changes locally: Light: Dark: Just as reference, this is the current original: And this is the dark version @dscho 's branch: |
I'll just note here that the old Eclipse logo was out of date by two versions and the background proved hard to remove, so we switched the logo out when changing it anyway. |
I should probably clarify that the "middle version" was an April Fools' joke: In any case, here is the comparison after merging @TheGiraffe3's excellent work (thank you so much!): Light mode: Dark mode: |
The Microsoft logo in dark mode has been mangled quite a bit |
Hmm. I'm not even sure that this is a legitimate use of the trademark, see https://www.microsoft.com/en-us/legal/intellectualproperty/Trademarks/... |
To be precise, I am concerned about this guideline: Don’t imply an affiliation, endorsement, sponsorship, or approval with or by Microsoft. |
The front page is the first page users see, therefore we need to make sure that it looks good in dark mode. Signed-off-by: Johannes Schindelin <[email protected]>
The links in the navigation bar are supposed to be colored dark gray unless the current page is in the corresponding section. In dark mode, however, it must be a bit lighter than the very dark background. So let's stop hard-coding that color and override it accordingly in dark mode with a nice, pleasant light gray. Signed-off-by: Johannes Schindelin <[email protected]>
The color contrast was not large enough; Let's just use a different variable to define the color. In light mode, it is similar enough: previously it was #4e443c, now it is #403f3c instead, i.e. a _tad_ darker. But it looks nice. Signed-off-by: Johannes Schindelin <[email protected]>
This includes the search box as well as the search results page. Signed-off-by: Johannes Schindelin <[email protected]>
It would stick out too much in dark mode otherwise. Signed-off-by: Johannes Schindelin <[email protected]>
The light mode colors in the versions and the translation drop-down boxes are waaaay to bright in dark mode. Signed-off-by: Johannes Schindelin <[email protected]>
The light mode colors of the borders around e.g. the options of Git commands in their synopsis are unpleasantly bright in dark mode; Let's adjust them to be less sore on the eye. Signed-off-by: Johannes Schindelin <[email protected]>
These images simply have too-dark labels otherwise. The proper solution would likely involve a separate set of images in that section, specifically targeting dark mode, with a specially-designed color palette. But I am not the person you want to do that, there are experts for this kind of stuff out there in the world, I ain't one of them. Signed-off-by: Johannes Schindelin <[email protected]>
They would otherwise stick out, brightness-wise. Signed-off-by: Johannes Schindelin <[email protected]>
This logo differs only in the colors (and in the format: it's an SVG), designed to work better with dark mode. Signed-off-by: Johannes Schindelin <[email protected]>
Image updates
@To1ne I think that I have addressed all of the concerns you raised in #1888 (comment), could I ask you to take another look? As usual, I've test-deployed the changes to https://dscho.github.io/git-scm.com/. |
In dark mode these logos didn't look good. Refresh them. Signed-off-by: Toon Claes <[email protected]>
To make it easier to style in dark mode. Signed-off-by: Toon Claes <[email protected]>
Signed-off-by: Toon Claes <[email protected]>
The image on the /about/data-assurance page looked creepy with the color filter. And because the image isn't bright anyway, remove the filter from that image. Signed-off-by: Toon Claes <[email protected]>
The icon to toggle between dark and light mode was added recently and this made laying out the elements in the header hard. A lot of items in the header have been using `position: absolute`. This was probably caused by the absolute positioning of the search result dropdown. Transition most elements in the header to use flexbox to make positioning more fluid and require less manual pixel pushing. Signed-off-by: Toon Claes <[email protected]>
Make the tagline scale nicely on every screen size. Signed-off-by: Toon Claes <[email protected]>
There was some js sourcery happening to make a click on the "Show all results..." entry in the search results dropdown go to the search page. Instead of doing the sourcery on click, set a proper `href` attribute on the `<a>`. This also makes browsers show a hand cursor when hovering the entry in the dropdown. Signed-off-by: Toon Claes <[email protected]>
Dark mode tweaks
This adds a responsive header, and other nice improvements. Signed-off-by: Johannes Schindelin <[email protected]>
Because it looks better to have the whole width for the search bar on mobile, move the dark-mode icon above the search bar, next to the tagline. To achieve this, use CSS grid where we can name the grid-areas and reposition them within media queries. Signed-off-by: Toon Claes <[email protected]>
css: place dark-mode icon next to tagline on mobile
Changes
This is a very early draft to support toggling between light and dark mode
Context