Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
bootstrap-dark-5
Advanced tools
The Ancillary Guide to Dark Mode and Bootstrap 5 - A continuation of the v4 Dark Mode POC
A continuation of the v4 Dark Mode POC, but this time for v5
This is a follow up to The Definitive Guide to Dark Mode and Bootstrap 4 body of work, and pertains to Bootstrap 5 (Github repo.).
If you're after the same work for Bootstrap 4 please visit the vinorodrigues/bootstrap-dark repo.
This code will make little sense if you don't read The Definitive Guide to Dark Mode and Bootstrap 4 first.
The code compiles the four methods (and variants - six in total) of the original body of work, but compiled for and sourcing Bootstrap 5. These are:
bootstrap-night
: This is simply a dark bootstrap theme. It can however be used with the Bootstrap core CSS to deliver a 2-file dark mode functionality.bootstrap-nightfall
: This is simply the "color only" CSS of all the components of Bootstrap core, but dark, and is intended to be used as an add-on. It can also, with a simple media query, drive automatic dark mode switching.bootstrap-nightshade
: This is a modification of the Bootstrap core and adds dark color CSS for all the components, but dark, nested in a html.dark
class wrapper. By itself it cannot offer dark mode switching, but add the included darkmode.js
library and you have an interactive dark mode switching variant of Bootstrap with built in "toggle" button support.
bootstrap-blackbox
: This variant is essentially the same as the "nightshade" variant, but instead of using a HTML tag class, it uses a HTML tag data attribute; data-bs-color-scheme
. The same darkmode.js
library drives this one, all you need to do is add the data attribute to your HTML tag.
bootstrap-dark
: This is the recommended method; one CSS with both light and dark themes, toggle-able only with the OS or browser prefers-color-scheme
media query.
bootstrap-unlit
: This variant is essentially the same as the "dark" variant, but with "dark" scheme as the primary/fallback and "light" as optioned in color scheme.
1. bootstrap-night | 2. bootstrap-nightfall | 3. bootstrap-nightshade | 3b. bootstrap-blackbox | 4. bootstrap-dark | 4b. bootstrap-unlit |
---|---|---|---|---|---|
Quick Start Guide | Quick Start Guide | Quick Start Guide | Quick Start Guide | Quick Start Guide | Quick Start Guide |
darkmode.js Reference | darkmode.js Reference | ||||
See Example | See Example | See Example |
Some of the test pages have been set up at vinorodrigues.github.io/bootstrap-dark-5
Yes.
Licence is MIT. i.e. use as you whish as long as you credit the original authors and leave the copyright in situ.
If you're a theme builder or want to use its principles in your own project you'll need to have Git and Node installed.
git clone https://github.com/vinorodrigues/bootstrap-dark-5.git
npm install
(See note below.)_variables.scss
and _variables-alt.scss
in the scss
sub-folder.npm run build
to build your theme.dist
folder.The build system is based on NPM Scripts. Most of the build tools (NPM modules) will need to be installed as "global" to ensure the scripts are executable from the command line.
npm i -g autoprefixer documentation browser-sync clean-css-cli cross-env eslint eslint-config-xo eslint-plugin-import eslint-plugin-unicorn find-unused-sass-variables imagemin-cli nodemon npm-run-all postcss-cli rtlcss sass stylelint stylelint-config-twbs-bootstrap svgo terser typescript
This code is just a rehash of Bootstrap 5 core code to add "dark mode" functionality and is declared as a "Proof of Concept" (PoC) - that means it's not intended as a production source, but merely an exercise to prove that dark-mode is attainable via various methods, i.e. it is an educative piece. It also means that it's author (Vino Rodrigues) is not compelled to support it.
This project will not compile with Node-Sass. Refer to the original Bootstrap 5 docs, especially here (https://getbootstrap.com/docs/5.1/getting-started/build-tools/#sass), and you'll note that they have deprecated the use of Node-Sass in favour of Dart-Sass.
They in turn cite this (https://sass-lang.com/blog/libsass-is-deprecated) article wherein the Sass curators state they will no longer support LibSass, that Node-Sass is dependant on.
Developers can include the scss
and dist
folders into your own project with:
npm install bootstrap-dark-5
You can also hotlink the theme via CDN with jsdelivr.com.
You can access the theme CSS file from the GitHub release:
bootstrap-dark
- the @media perfers-color-scheme
variant
bootstrap-nightshade
- the html.dark
css class + JS library variant
darkmode.js
Reference.bootstrap-night
- that dark theme only variant
Must reads for all developers wanting to write for dark mode:
...obviously, the original content: The Definitive Guide to Dark Mode and Bootstrap 4
web.dev, Thomas Steiner (@tomayac), Jun 27, 2019 (updated Jun 9, 2020), "prefers-color-scheme: Hello darkness, my old friend"
web.dev, Thomas Steiner (@tomayac), Apr 8, 2020 (updated Jun 16, 2020), "Improved dark mode default styling with the color-scheme CSS property and the corresponding meta tag"
CSS-TRICKS, Adhuham, Sep 9, 2020 "A Complete Guide to Dark Mode on the Web"
My bit about images and other considerations in my ".. Definitive Guide .." piece.
If you have useful feedback drop me an "Issue" on the GitHub Issues page.
© 2021
FAQs
The Ancillary Guide to Dark Mode and Bootstrap 5 - A continuation of the v4 Dark Mode POC
The npm package bootstrap-dark-5 receives a total of 522 weekly downloads. As such, bootstrap-dark-5 popularity was classified as not popular.
We found that bootstrap-dark-5 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.