Website: Support dark mode (#501)

* Update Gemfile.lock

Running Jekyll according to `CONTRIBUTING.md` fails complaining about
missing a `nokogiri` dependency. Updating `Gemfile.lock` seems to solve
this issue.

Fixes: #500

* Website: Support dark mode

Support `prefers-color-scheme: dark` by employing some more or less
hacky CSS overrides.

One should perhaps just use a different off-the-shelf Jekyll theme that
does this properly from the start.
This commit is contained in:
Mattias Bengtsson 2026-03-01 22:54:42 +01:00 committed by GitHub
parent 80400e9a56
commit bc41215c8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 148 additions and 29 deletions

View file

@ -1,8 +1,9 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.2.1)
activesupport (7.2.3)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
@ -12,38 +13,42 @@ GEM
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
bigdecimal (3.1.8)
addressable (2.8.9)
public_suffix (>= 2.0.2, < 8.0)
base64 (0.3.0)
benchmark (0.5.0)
bigdecimal (4.0.1)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
colorator (1.1.0)
commonmarker (0.23.10)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
csv (3.3.0)
dnsruby (1.72.2)
commonmarker (0.23.12)
concurrent-ruby (1.3.6)
connection_pool (2.5.5)
csv (3.3.5)
dnsruby (1.73.1)
base64 (>= 0.2)
logger (~> 1.6)
simpleidn (~> 0.2.1)
drb (2.2.1)
drb (2.2.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.16.0)
ethon (0.18.0)
ffi (>= 1.15.0)
logger
eventmachine (1.2.7)
execjs (2.9.1)
execjs (2.10.0)
faraday (2.14.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.2)
net-http (~> 0.5)
ffi (1.17.0)
ffi (1.17.0-x86_64-linux-gnu)
ffi (1.17.0-x86_64-linux-musl)
ffi (1.17.3)
ffi (1.17.3-x86_64-linux-gnu)
ffi (1.17.3-x86_64-linux-musl)
forwardable-extended (2.6.0)
gemoji (4.1.0)
github-pages (232)
@ -101,8 +106,8 @@ GEM
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (1.14.6)
http_parser.rb (0.8.1)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
jekyll (3.10.0)
addressable (~> 2.4)
@ -220,7 +225,8 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
listen (3.10.0)
logger
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
@ -230,15 +236,15 @@ GEM
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.25.1)
minitest (5.27.0)
net-http (0.9.1)
uri (>= 0.11.1)
nokogiri (1.19.1)
nokogiri (1.18.10)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri (1.19.1-x86_64-linux-gnu)
nokogiri (1.18.10-x86_64-linux-gnu)
racc (~> 1.4)
nokogiri (1.19.1-x86_64-linux-musl)
nokogiri (1.18.10-x86_64-linux-musl)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
@ -250,19 +256,19 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.4.2)
rexml (3.4.4)
rouge (3.30.0)
rubyzip (2.3.2)
rubyzip (2.4.1)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.9.2)
sawyer (0.9.3)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.3.1)
securerandom (0.4.1)
simpleidn (0.2.3)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
@ -272,7 +278,7 @@ GEM
concurrent-ruby (~> 1.0)
unicode-display_width (1.8.0)
uri (1.1.1)
webrick (1.8.2)
webrick (1.9.2)
PLATFORMS
ruby
@ -284,4 +290,4 @@ DEPENDENCIES
webrick (~> 1.8)
BUNDLED WITH
2.3.13
2.3.25

View file

@ -141,3 +141,116 @@ ul#sponsoring li a img {
.page-header {
padding-bottom: 30px;
}
@media (prefers-color-scheme: dark) {
#rules-navbar.affix {
background-color: #2b2b2b;
}
/*********************** style.css overrides ******************************/
/* This should *probably* be its own theme instead. */
body {
color: #a3b0b6;
background-color: #242424;
}
.page-header {
color: #fff;
text-align: center;
background-color: #006128;
background-image: linear-gradient(120deg, #002968, #003c04);
}
.site-footer {
border-top: solid 1px #525354;
}
hr {
background-color: #525354!important;
}
a {
color: #3d86d6;
}
.main-content h1 ,
.main-content h2 ,
.main-content h3 ,
.main-content h4 ,
.main-content h5 ,
.main-content h6 {
color: #55c883;
}
/* Syntax Highlighting from dark-plus of pygments-styles */
/* See: https://github.com/lepture/pygments-styles */
.main-content pre {
background: #1E1E1E;
border: solid 1px #272f36;
}
code, .highlight {
background: #1E1E1E;
color: #D4D4D4
}
.highlight .hll {
background-color: #ADD6FF26
}
.highlight .c { color: #6A9955 }
.highlight .err { color: #F44747 }
.highlight .k { color: #C586C0 }
.highlight .l { color: #CE9178 }
.highlight .ch { color: #6A9955 }
.highlight .cm { color: #6A9955 }
.highlight .cp { color: #C586C0 }
.highlight .cpf { color: #CE9178 }
.highlight .c1 { color: #6A9955 }
.highlight .cs { color: #6A9955 }
.highlight .gd { color: #CE9178 }
.highlight .ge { font-style: italic }
.highlight .gr { color: #F44747 }
.highlight .gh { color: #569CD6 }
.highlight .gi { color: #B5CEA8 }
.highlight .go { color: #CE9178 }
.highlight .gp { color: #C8C8C8 }
.highlight .gs { color: #569CD6; font-weight: bold }
.highlight .gu { color: #569CD6 }
.highlight .gt { color: #F44747 }
.highlight .kc { color: #CE9178 }
.highlight .kd { color: #C586C0 }
.highlight .kn { color: #C586C0 }
.highlight .kp { color: #D7BA7D }
.highlight .kr { color: #C586C0 }
.highlight .kt { color: #569CD6 }
.highlight .ld { color: #CE9178 }
.highlight .m { color: #B5CEA8 }
.highlight .s { color: #CE9178 }
.highlight .na { color: #9CDCFE }
.highlight .nb { color: #DCDCAA }
.highlight .nc { color: #4EC9B0 }
.highlight .no { color: #B5CEA8 }
.highlight .nd { color: #DCDCAA }
.highlight .ne { color: #4EC9B0 }
.highlight .nf { color: #DCDCAA }
.highlight .nl { color: #C8C8C8 }
.highlight .nx { color: #D4D4D4 }
.highlight .nt { color: #569CD6 }
.highlight .w { color: #D4D4D4 }
.highlight .mb { color: #B5CEA8 }
.highlight .mf { color: #B5CEA8 }
.highlight .mh { color: #B5CEA8 }
.highlight .mi { color: #B5CEA8 }
.highlight .mo { color: #B5CEA8 }
.highlight .sa { color: #CE9178 }
.highlight .sb { color: #CE9178 }
.highlight .sc { color: #CE9178 }
.highlight .dl { color: #CE9178 }
.highlight .sd { color: #CE9178 }
.highlight .s2 { color: #CE9178 }
.highlight .se { color: #CE9178 }
.highlight .sh { color: #CE9178 }
.highlight .si { color: #569CD6 }
.highlight .sx { color: #CE9178 }
.highlight .sr { color: #D16969 }
.highlight .s1 { color: #CE9178 }
.highlight .ss { color: #CE9178 }
.highlight .bp { color: #D7BA7D }
.highlight .fm { color: #DCDCAA }
.highlight .il { color: #B5CEA8 }
}