Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Merge Proposal: Dark Mode
Dark Mode has become a rapidly popular feature to many online tools and services in recent years and it's about time WordPress joins in on this trend as well. Many websites such as Twitter, YouTube, Reddit and even macOS Mojave, Apple's newest operating system have adopted this feature as one to help user's who are looking at screens for long periods of time. Traditionally we're use to seeing light backgrounds and dark text in a high contrast environment which can be damaging for the eyes.
If you have ever found yourself working on something late at night and having to make adjustments so the bright light doesn't hurt your eyes so much, you're in for a treat!
Say good evening to... Dark Mode
Dark Mode transforms the colours of the WordPress dashboard from bright white and grey colours to dark grey and black instead. This means you no longer need to squint or turn down your brightness setting trying to avoid things like headaches and eyestrain.
Whilst Dark Mode is a great way to personalise your setup, there's a few things that it's not. These include but is not limited to:
Your Questions Answered
1. What is Dark Mode?
2. Why should this be in Core?
3. How would this be maintained in Core?
4. Will this support Gutenberg?
5. Which plugins will be supported? / How can plugins support Dark Mode?
Currently, the only plugin which is natively supported by the Dark Mode plugin is Gutenberg. This is because Gutenberg is a feature plugin which will become part of the WordPress core and must be supported by default. No other plugins are to be supported at this time. Plugin developers wishing to save themselves time should try to use the default WordPress UI elements as much as possible.
And for the most important and most asked question of all...
6. Why isn't this a colour scheme?
Testing & Merging
Dark Mode has already been thoroughly tested but should have further testing before merging to ensure that every element is styled just right. As it currently stands, Dark Mode has been designed in a class model which enables it to be placed within core very easily with the use of hooks.
Whilst there may be some changes required to port it over into the core stack, the current files required for it to actually work are only 2. The PHP code to check the user preference and the CSS file containing the styles meaning the task of actually merging could be relatively quick.
If you do find any issues, please report them by opening a new issue on GitHub.
I would like to give a big thank you to everyone who has helped get Dark Mode to where it is today. The development of the the plugin started on the 3rd October 2017. Since then, the plugin has seen contributors of various levels assist in testing, coding and designing the product we have now. Yay for open source communities!
Use this issue as the basis for the WordPress Core Merge Proposal. Please reply below with any feedback/changes you might have and I'll edit them into the first post in this issue. Here are some of the things that need to be mentioned:
This list will probably change going forward. It's also worth looking at other merge proposals that have been submitted to Make/Core as well. I'll list some quickly below.
That's just a few of the latest ones so far. Hopefully this is the next one!
Note to self and contributors:
We're one step closer to getting the merge proposal sorted (just need to write it now).
I've updated the proposal and am happy that's it's pretty much there now. There's only two things that need doing though as I needed to sort of write this with the future in mind.
I think that's about it.
Plugin compatibility guide is here: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide
The plugin guide has been finished. The only thing left is Gutenberg support.
Hi, please take a look at the installation instructions: https://wordpress.org/plugins/dark-mode/#installation.