From 24fd50abe9891bb849d6831351d477fe2845de9b Mon Sep 17 00:00:00 2001 From: ners Date: Mon, 1 Jun 2026 20:58:46 +0200 Subject: [PATCH] Add dark mode support via color-scheme --- html/hoogle.css | 71 ++++++++++++----------- html/hoogle.png | Bin 1962 -> 554 bytes html/plugin/chosen.css | 128 ++++++++++++++++++++--------------------- 3 files changed, 102 insertions(+), 97 deletions(-) diff --git a/html/hoogle.css b/html/hoogle.css index f6ae92bd..8a3196cf 100644 --- a/html/hoogle.css +++ b/html/hoogle.css @@ -3,6 +3,7 @@ */ html { + color-scheme: light dark; height: 100%; } @@ -28,11 +29,11 @@ a img { } a:hover { - background-color: #ffb; + background-color: light-dark(#ffb, #443300); } a { - color: #C4451D; + color: light-dark(#C4451D, #e06840); text-decoration: none; } @@ -41,9 +42,9 @@ a { */ #links { - background: none repeat scroll 0 0 #293845; - border-top: 5px solid #4E6272; - color: #DDDDDD; + background: none repeat scroll 0 0 light-dark(#293845, #1a2530); + border-top: 5px solid light-dark(#4E6272, #3a4e5e); + color: light-dark(#DDDDDD, #cccccc); text-align: right; padding: 0.2em; } @@ -72,7 +73,7 @@ a { } #top-menu li a:hover { - background-color: #4e6272; + background-color: light-dark(#4e6272, #3a4e5e); text-decoration: underline; } @@ -80,6 +81,10 @@ form { margin-bottom: 0px; } +#logo:hover { + background-color: initial; +} + #logo img { vertical-align: bottom; } @@ -141,7 +146,7 @@ form { } #left a { - color: #C4451D; + color: light-dark(#C4451D, #e06840); text-decoration: none; background-repeat: no-repeat; } @@ -150,7 +155,7 @@ form { padding-right: 16px; background-image: url(more_small.png); background-position: center right; - color: #0E774A; + color: light-dark(#0E774A, #2aaf6e); } #left .pad { @@ -158,7 +163,7 @@ form { } #left .minus { - color: #770E00; + color: light-dark(#770E00, #cc4422); padding-left: 16px; background-image: url(less_small.png); background-position: center left; @@ -170,9 +175,9 @@ form { */ #footer { - background: none repeat scroll 0 0 #DDDDDD; - border-top: 1px solid #AAAAAA; - color: #666666; + background: none repeat scroll 0 0 light-dark(#DDDDDD, #333333); + border-top: 1px solid light-dark(#AAAAAA, #555555); + color: light-dark(#666666, #aaaaaa); width: 100%; padding: 1.3em 0; text-align: center; @@ -205,7 +210,7 @@ p { */ .error { - border-bottom: 2px solid red; + border-bottom: 2px solid light-dark(red, #ff6666); text-decoration: none; white-space: pre; } @@ -216,10 +221,10 @@ p { margin-bottom: 20px; padding: 3px; width: 400px; - border: 2px solid #cc0; - color: black; - background-color: #F5F5F5; - border: 1px solid #E5E5E5; + border: 2px solid light-dark(#cc0, #998800); + color: light-dark(black, #e8e8e8); + background-color: light-dark(#F5F5F5, #232323); + border: 1px solid light-dark(#E5E5E5, #2c2c2c); text-align: left; } @@ -239,7 +244,7 @@ p { } .result.active { - background-color: #f7f5c0; + background-color: light-dark(#f7f5c0, #3a3820); } .from, .doc { @@ -258,41 +263,41 @@ a.dull, a.dull:hover { } .ans { - background: none repeat scroll 0 0 #F0F0F0; - border-top: 1px solid #CCCCCC; + background: none repeat scroll 0 0 light-dark(#F0F0F0, #252525); + border-top: 1px solid light-dark(#CCCCCC, #444444); font-size: 16px; padding: 0.2em 0.5em; } .ans a { - color: black; + color: light-dark(black, #e8e8e8); } .ans .name { - color: #C4451D; + color: light-dark(#C4451D, #e06840); } .links { float: right; - color: #CCCCCC; + color: light-dark(#CCCCCC, #444444); } .links a { - color: #888; + color: light-dark(#888, #999999); font-size: 12px; } -.c0{background-color: #fcc;} -.c1{background-color: #cfc;} -.c2{background-color: #ccf;} -.c3{background-color: #ffc;} -.c4{background-color: #fcf;} -.c5{background-color: #cff;} +.c0{background-color: light-dark(#fcc, #4a1a1a);} +.c1{background-color: light-dark(#cfc, #1a4a1a);} +.c2{background-color: light-dark(#ccf, #1a1a4a);} +.c3{background-color: light-dark(#ffc, #4a4a1a);} +.c4{background-color: light-dark(#fcf, #4a1a4a);} +.c5{background-color: light-dark(#cff, #1a4a4a);} .more, .more:visited { padding-left: 16px; background-image: url(more_blue.png); background-repeat: no-repeat; background-position: center left; - color: blue; + color: light-dark(blue, #6699ff); } /** PARENTS **/ @@ -300,7 +305,7 @@ a.dull, a.dull:hover { .from a, .p1, .p2 { white-space: nowrap; text-decoration: none; - color: #0E774A; + color: light-dark(#0E774A, #2aaf6e); } /** DOCS **/ @@ -318,7 +323,7 @@ docs may be in one of three states: margin-bottom: 1.0em; } .doc, .doc a { - color: #888; + color: light-dark(#888, #999999); } .doc h1, .doc h2, .doc h3, .doc h4, .doc h5, .doc h6 { font-size: 11px; diff --git a/html/hoogle.png b/html/hoogle.png index eb0830585e8789361fbcd88dfac039e11b898786..baa8371629700fe17473b2ce95d745972fa36048 100644 GIT binary patch delta 541 zcmV+&0^~X;#ZSS~*_Paszg1;C&tjOn04K=r;POS-p!6X8vj>YrZ5Cj2 zc*U?so}(_nOCq@2W8Ja#yutQn`dksgy{XHA(({#aFn<$7aQ_?&kM%eTm#ShB!9?3M z+zjfLx{^;EYk&KZB7)ePaM#nhS|j}(%|I^f^+`1K{_DZ&-I(=c>PjhsyZ7i}b()Vw zN2)%TCL);bUN|gW*@3D=`o&$zrh?;Fd;g4SDBN)cufyUTF1tBV&x|rj-CWo(C#!2_ f73O>Dkrwq2Mkm{@JtH z`Sbbx`u%_afS*2}h!KdBCzHB#x|AuD^5pW;q|%u(ncKG8g9n4cg~I62=!Xx7`0@DW z%;u|BtCcF1#EHcI{{FRUwT&B%{rmm<_WO$$i`cQ)rAwvu?SJ-#3Wb3Kf$-t*`tmMoT@J)X8~w%)wn(xuX@S*)BmoRK1ts8FcPn9T0o?!<`1tXQm}L!qZn zr@(-~?AYv(A&{p|r@(>0v175nf4|+k-L74(j2Vo80f2@KhN4BH&YaHk=ku;yuA4WT z<;vyHp3jC2hJV9`!}|65w{EwB1cJSLz30#8jvS8u{QmUm^pz`>>eT9j1%i(skAw(> z)vDE|Os1egptWnY@80j^$>fX}jDZ4y+qc`dZ?~mNrLSJEzka{__xqPFm!wFfg$sq0 zD3r^W%jeGL)~(j0Nu-GqiSy?3*RI!t27}(c-r~gK!+(dv+_~JndcFMl{E#4!@#68g zaJb2m$@c8_sZy!5Xtdd~*~*m4iWG{ICX!O z&6>@L6Mu=mbr4dojaYcU$6Z5{IqGbyLP+UwA$9J*6i8r*s$2Uce|ZBo$uf8 z=+WrLjmGQO>%4iqpg^FjSF7Q|;jLP&nlzf=!QkV^(=Y| z@c7A-$*EJRzJ0#nz~GoMn6hND(4f%m+U=1ek$;UEjrHsG!i2(-C6e&q@S{hgvuCr& zk;s@Zn6qZHty`^*9gfJ5$j6Vz%a+Ue^7-7j+|i=Zaq7~8gO+qUy;8+o?*f9$=d zs(+??jh?fo_iTS=y8EE;E!k*8S zQu&qj#8qDLuLoA9`eg+KW{#xFsL_&Dnuy<+45x1_o^j0r1IK6m#W0DeMU|Qp{(t4b zzv2W&O(eji$+D&pXljg%X;=(T1115La!tn?BhQSP7)d>6&BiE+3@$LC4aS_g^D^fz zz*x9Q(qfDyZI||5HoY;%a!D&NidN=n)#5%_J~?7mvk*vIBiCA6zphkTzX4-oaDkgJ zy04P8ISXhjmDU2bG?kUU71*|3YJY{XUDl!<7^CD^O4822VN%xz?2=WQ11u@~SMR~y ze*Swf2iUVpj=jLX0yV(cFGuf(fde|22F#LUKE^&d@;Ovi88A%x0f*%{f^jsMQJmoe z8pw4p8#tyyAV;1qow9-=;QF1K+wn^4iu1Tx5R6R|u^OtS}6FAWM^%Md(H50fc&v;--!flKRa+L#( zW!=f*uDc@l{#M|qM;{9&@PBc@S0GO-;0gQ9PI+ztC3-S&ppKse)RgrUvkTnqu&}_p z#6=TZKmAPGUYkcRiwg2lw<;T`Cs*Aiz_Yps?2#uQ=q!!21$mP79L7Q!rAc&_brs`+ zjOT%V)%P~j6Igvv{vFqh*9#cK_s+eCDuh5lVPr`dVd(@F_K;eN}9;? z|JPk&&^n&1N8*h+wXO=Wc>P=Cq#^eT?ay+3njr?=sAIpSW!Ncy5c zZ`8tK6prJ;1uE)Gs?>Z|juBZ@`KnZoga^K^v+$eGa^sbQ-CpFkKDaH{cUY6UO5