File tree Expand file tree Collapse file tree 2 files changed +2648
-0
lines changed Expand file tree Collapse file tree 2 files changed +2648
-0
lines changed Original file line number Diff line number Diff line change 1+ // This Source Code Form is subject to the terms of the Mozilla Public
2+ // License, v. 2.0. If a copy of the MPL was not distributed with this
3+ // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4+
5+ ( ( ) => {
6+ const darkThemes = [ 'ayu' , 'navy' , 'coal' ] ;
7+ const lightThemes = [ 'light' , 'rust' ] ;
8+
9+ const classList = document . getElementsByTagName ( 'html' ) [ 0 ] . classList ;
10+
11+ let lastThemeWasLight = true ;
12+ for ( const cssClass of classList ) {
13+ if ( darkThemes . includes ( cssClass ) ) {
14+ lastThemeWasLight = false ;
15+ break ;
16+ }
17+ }
18+
19+ const theme = lastThemeWasLight ? 'default' : 'dark' ;
20+ mermaid . initialize ( { startOnLoad : true , theme } ) ;
21+
22+ // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page
23+
24+ for ( const darkTheme of darkThemes ) {
25+ document . getElementById ( darkTheme ) . addEventListener ( 'click' , ( ) => {
26+ if ( lastThemeWasLight ) {
27+ window . location . reload ( ) ;
28+ }
29+ } ) ;
30+ }
31+
32+ for ( const lightTheme of lightThemes ) {
33+ document . getElementById ( lightTheme ) . addEventListener ( 'click' , ( ) => {
34+ if ( ! lastThemeWasLight ) {
35+ window . location . reload ( ) ;
36+ }
37+ } ) ;
38+ }
39+ } ) ( ) ;
You can’t perform that action at this time.
0 commit comments