Dark mode has become a popular feature for all electronic mediums, from desktops to mobile apps to web. Modern browsers broadly support the preferred-color-scheme @media
selector allowing a site to automatically match the user's device preference, and many websites allow a user to forcibly set dark mode, such as the StackExchange family of sites.
However, it can't be done by the themes alone. The backdrop_get_logo()
function returns a single graphic without consideration for the light or dark mode. The Backdrop logo, for example, works well with light mode pages, less so with dark mode.
To fully support Dark Mode in Backdrop, the following items would need to be included:
- [ ] Support for light/dark logos and automatic inclusion of the right logo in theme functions.
- [ ] Support in one or more stock themes, in particular Basis and Seven.
- [ ] A system-level, user-overridable setting (similar to timezones) for dark mode allowing for "light", "dark", or "auto" (follow device preference) that modules and themes can use to include the appropriate CSS.
- [ ] CSS cache support that won't send cached dark mode CSS to a light mode user.
- [ ] Color module support
- [ ] Backwards compatibility for themes and modules that have no notion of "dark mode."
- [ ] Update black PNG icons (to SVGs? https://github.com/backdrop/backdrop-issues/issues/364)
See also #3990 and #3991.
Recent comments
Hi @Gnome and welcome to Backdrop When I create custom layout templates I put them in /layouts/custom/my_layout Note: you can split modules and layouts between contrib and custom...
My layout template (layout--blog.tpl.php) doesn't work
This post explains how to do this in Drupal 7. In Backdrop, File Entity is already part of core. You will need to download and install module Views Field View. https://drupal.stackexchange...
I Need to Display an Image in a View that was Uploaded to a Webform
After alot of trials, i have done the obvious and translated the whole block for different languages with each property condition as follows: ->propertyCondition('langcode', 'en...
How to get the current page language?