File tree Expand file tree Collapse file tree 2 files changed +13
-6
lines changed Expand file tree Collapse file tree 2 files changed +13
-6
lines changed Original file line number Diff line number Diff line change 11"use strict" ;
22
3+ // val: "light" | "dark"
4+ function renderTheme ( val ) {
5+ document . documentElement . setAttribute ( "data-theme" , val ) ;
6+ document . getElementById ( "syntax-theme" ) . href = `/styles/syntax-theme-${ val } .css`
7+ }
8+
39function changeThemeTo ( val ) {
410 if ( val === "system" ) {
511 setThemeToSystemPref ( ) ;
@@ -8,7 +14,7 @@ function changeThemeTo(val) {
814 localStorage . removeItem ( "blog-rust-lang-org-theme" ) ;
915 }
1016 } else {
11- document . documentElement . setAttribute ( "data-theme" , val ) ;
17+ renderTheme ( val ) ;
1218 // save theme prefs in the browser
1319 if ( storageAvailable ( "localStorage" ) ) {
1420 localStorage . setItem ( "blog-rust-lang-org-theme" , val ) ;
@@ -54,9 +60,9 @@ function handleBlur(event) {
5460
5561function setThemeToSystemPref ( ) {
5662 if ( window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ) {
57- document . documentElement . setAttribute ( "data-theme" , "dark" ) ;
63+ renderTheme ( "dark" ) ;
5864 } else {
59- document . documentElement . setAttribute ( "data-theme" , "light" ) ;
65+ renderTheme ( "light" ) ;
6066 }
6167}
6268
@@ -66,7 +72,7 @@ if (storageAvailable("localStorage")) {
6672 savedTheme = localStorage . getItem ( "blog-rust-lang-org-theme" ) ;
6773}
6874if ( savedTheme ) {
69- document . documentElement . setAttribute ( "data-theme" , savedTheme ) ;
75+ renderTheme ( savedTheme ) ;
7076} else {
7177 setThemeToSystemPref ( ) ;
7278}
Original file line number Diff line number Diff line change 1919< link rel ="stylesheet " href ="{{ config.base_url | safe }}/styles/tachyons.css "/>
2020< link rel ="stylesheet " href ="{{ config.base_url | safe }}/styles/fonts.css "/>
2121< link rel ="stylesheet " href ="{{ config.base_url | safe }}/styles/app.css "/>
22- < link rel ="stylesheet " type ="text/css " href ="/styles/syntax-theme-dark.css " media ="(prefers-color-scheme: dark) " />
23- < link rel ="stylesheet " type ="text/css " href ="/styles/syntax-theme-light.css " media ="(prefers-color-scheme: light) " />
22+ < link rel ="stylesheet " type ="text/css " id ="syntax-theme " />
2423
2524<!-- stylesheet for user agents without js -->
2625< noscript >
2726 < link rel ="stylesheet " href ="{{ config.base_url | safe }}/styles/noscript.css ">
27+ < link rel ="stylesheet " type ="text/css " href ="/styles/syntax-theme-dark.css " media ="(prefers-color-scheme: dark) " />
28+ < link rel ="stylesheet " type ="text/css " href ="/styles/syntax-theme-light.css " media ="(prefers-color-scheme: light) " />
2829</ noscript >
2930
3031<!-- favicon -->
You can’t perform that action at this time.
0 commit comments