Skip to content

Commit 7920065

Browse files
committed
Add console based theme switcher
1 parent 6c74384 commit 7920065

File tree

4 files changed

+77
-23
lines changed

4 files changed

+77
-23
lines changed

assets/css/v2/style.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
html {
2+
background-color: lightgreen;
3+
}

assets/js/theme-switcher.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
if (localStorage.getItem("useNewTheme") === "true") {
2+
useNewTheme(true);
3+
}
4+
5+
function useNewTheme(useNewTheme) {
6+
localStorage.setItem("useNewTheme", `${useNewTheme}`);
7+
8+
const v1cssIds = [
9+
"cssFA1",
10+
"cssFA2",
11+
"cssFA3",
12+
"cssBootstrap",
13+
"css1",
14+
"css2",
15+
"css3",
16+
"css4",
17+
"css5",
18+
"css6",
19+
];
20+
21+
v1cssIds.forEach((cssId) => {
22+
document.getElementById(cssId).disabled = useNewTheme;
23+
});
24+
25+
const v2cssIds = ["css7"];
26+
v2cssIds.forEach((cssId) => {
27+
document.getElementById(cssId).disabled = !useNewTheme;
28+
});
29+
}

layouts/partials/scripts.html

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66

77
<!-- load Bootstrap from local assets -->
88
{{ $jsBootstrap := resources.Get "js/bootstrap.bundle.min.js" | fingerprint "sha512" }}
9-
<script src="{{ $jsBootstrap.RelPermalink }}" type="text/javascript" integrity="{{ $jsBootstrap.Data.Integrity }}"></script>
9+
<script src="{{ $jsBootstrap.RelPermalink }}" type="text/javascript"
10+
integrity="{{ $jsBootstrap.Data.Integrity }}"></script>
1011

1112
<!-- load code copy js -->
1213
{{ $codecopy := resources.Get "/js/code-copy.js" | fingerprint "sha512" }}
13-
<script src="{{ $codecopy.RelPermalink }}" type="text/javascript" ></script>
14+
<script src="{{ $codecopy.RelPermalink }}" type="text/javascript"></script>
1415

1516
<!-- load mermaid.js -->
1617
{{ if .Page.Store.Get "hasMermaid" }}
@@ -19,9 +20,13 @@
1920
{{ end }}
2021

2122
<!-- START COVEO -->
22-
<script class="coveo-script" src="https://static.cloud.coveo.com/searchui/v2.10104/0/js/CoveoJsSearch.Lazy.min.js" integrity="sha512-HxdDBIp5snbqtu1TPkBnXLKEvN9IPz3PeZW8zT9KfsflV9Ck822XDroDlpVbfCfXeiu8C0RDVn0fdu7aGy/H1g==" crossorigin="anonymous"></script>
23+
<script class="coveo-script" src="https://static.cloud.coveo.com/searchui/v2.10104/0/js/CoveoJsSearch.Lazy.min.js"
24+
integrity="sha512-HxdDBIp5snbqtu1TPkBnXLKEvN9IPz3PeZW8zT9KfsflV9Ck822XDroDlpVbfCfXeiu8C0RDVn0fdu7aGy/H1g=="
25+
crossorigin="anonymous"></script>
2326

24-
<script src="https://static.cloud.coveo.com/searchui/v2.10104/0/js/templates/templates.js" integrity="sha512-CR0Yk/LIwgh1MsKqjecDp/r6F9ipKc6gA+4+E1pplT3N3r1pk+la/HaqyDiKtjOFwrwIIbIYBFrUJgPql93QHw==" crossorigin="anonymous"></script>
27+
<script src="https://static.cloud.coveo.com/searchui/v2.10104/0/js/templates/templates.js"
28+
integrity="sha512-CR0Yk/LIwgh1MsKqjecDp/r6F9ipKc6gA+4+E1pplT3N3r1pk+la/HaqyDiKtjOFwrwIIbIYBFrUJgPql93QHw=="
29+
crossorigin="anonymous"></script>
2530

2631
<!-- build coveo.js -->
2732
{{ $.Scratch.Set "coveoSc" "" }}
@@ -30,22 +35,28 @@
3035
{{ $secureCoveo := $.Scratch.Get "coveoSc" | minify | fingerprint "sha512" }}
3136

3237

33-
<script src="{{ $secureCoveo.RelPermalink }}" integrity="{{ $secureCoveo.Data.Integrity }}" type="text/javascript"></script>
38+
<script src="{{ $secureCoveo.RelPermalink }}" integrity="{{ $secureCoveo.Data.Integrity }}"
39+
type="text/javascript"></script>
3440

3541

3642

3743
<!-- Load the Redoc resources if we're not using Dev Portal for the API reference layout-->
3844
{{ if not ( eq .Site.Params.useDevPortal true ) }}
3945

40-
{{ $redoc := resources.Get "js/redoc.standalone.js" }}
41-
{{ $redoc := $redoc | fingerprint "sha512" }}
46+
{{ $redoc := resources.Get "js/redoc.standalone.js" }}
47+
{{ $redoc := $redoc | fingerprint "sha512" }}
4248

43-
<!-- only load the redoc js if we're on an api reference page -->
44-
{{ if and (in .Params.doctypes "reference") (in .Params.tags "api") }}
49+
<!-- only load the redoc js if we're on an api reference page -->
50+
{{ if and (in .Params.doctypes "reference") (in .Params.tags "api") }}
4551
<script src="{{$redoc.RelPermalink}}" type="text/javascript"></script>{{ end }}
4652

4753
{{ end }}
4854

4955
<!-- Load Sidebar javascript -->
5056
{{ $jsSidebar := resources.Get "js/sidebar.js" | minify | fingerprint "sha512" }}
5157
<script src="{{ $jsSidebar.RelPermalink }}" type="text/javascript" integrity="{{ $jsSidebar.Data.Integrity }}"></script>
58+
59+
<!-- Inline theme switcher -->
60+
{{ $jsThemeSwitcher := resources.Get "js/theme-switcher.js" | minify | fingerprint "sha512" }}
61+
<script src="{{ $jsThemeSwitcher.RelPermalink }}" type="text/javascript"
62+
integrity="{{ $jsThemeSwitcher.Data.Integrity }}"></script>

layouts/partials/styles.html

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,58 @@
44
{{ $css4 := resources.Get "css/f5-hugo.css" }}
55
{{ $css5 := resources.Get "css/highlight.css" }}
66
{{ $css6 := resources.Get "css/coveo.css" }}
7+
{{ $css7 := resources.Get "css/v2/style.css" }}
8+
9+
<!-- load v2 theme assets -->
10+
<link href="{{ $css7.RelPermalink }}" integrity="{{ $css7.Data.Integrity }}" rel="stylesheet" type="text/css" id="css7"
11+
disabled>
712

813
<!-- load FontAwesome from assets -->
914
{{ $cssFA1 := resources.Get "fontawesome/css/all.min.css" | fingerprint "sha512" }}
10-
<link href="{{ $cssFA1.RelPermalink }}" integrity="{{ $cssFA1.Data.Integrity }}" rel="stylesheet" type="text/css">
15+
<link href="{{ $cssFA1.RelPermalink }}" integrity="{{ $cssFA1.Data.Integrity }}" rel="stylesheet" type="text/css"
16+
id="cssFA1">
1117

1218
{{ $cssFA2 := resources.Get "fontawesome/css/v4-font-face.min.css" | fingerprint "sha512" }}
13-
<link href="{{ $cssFA2.RelPermalink }}" integrity="{{ $cssFA2.Data.Integrity }}" rel="stylesheet" type="text/css">
19+
<link href="{{ $cssFA2.RelPermalink }}" integrity="{{ $cssFA2.Data.Integrity }}" rel="stylesheet" type="text/css"
20+
id="cssFA2">
1421

1522
{{ $cssFA3 := resources.Get "fontawesome/css/v5-font-face.min.css" | fingerprint "sha512" }}
16-
<link href="{{ $cssFA3.RelPermalink }}" integrity="{{ $cssFA3.Data.Integrity }}" rel="stylesheet" type="text/css">
23+
<link href="{{ $cssFA3.RelPermalink }}" integrity="{{ $cssFA3.Data.Integrity }}" rel="stylesheet" type="text/css"
24+
id="cssFA3">
1725

18-
<!-- load Bootstrap from local assets -->
26+
<!-- load Bootstrap from local assets -->
1927
{{ $cssBootstrap := resources.Get "css/bootstrap.min.css" | fingerprint "sha512" }}
20-
<link href="{{ $cssBootstrap.RelPermalink }}" integrity="{{ $cssBootstrap.Data.Integrity }}" rel="stylesheet" type="text/css">
28+
<link href="{{ $cssBootstrap.RelPermalink }}" integrity="{{ $cssBootstrap.Data.Integrity }}" rel="stylesheet"
29+
type="text/css" id="cssBootstrap">
2130

2231
{{ if ( not ( in .Site.Params.buildtype "package" ) ) }}
2332
<!-- load Coveo CSS -->
24-
<link rel="stylesheet" href="https://static.cloud.coveo.com/searchui/v2.10104/0/css/CoveoFullSearch.min.css" integrity="sha512-9/A9yVCU4GS6/iIwTRJKnan4Hf8gDKj3anwItN9QCsU8SixaT5xkjjWsZ/iq0TWaizhtqOLacadXJfxHlwYCcA==" crossorigin="anonymous" />{{ end }}
33+
<link rel="stylesheet" href="https://static.cloud.coveo.com/searchui/v2.10104/0/css/CoveoFullSearch.min.css"
34+
integrity="sha512-9/A9yVCU4GS6/iIwTRJKnan4Hf8gDKj3anwItN9QCsU8SixaT5xkjjWsZ/iq0TWaizhtqOLacadXJfxHlwYCcA=="
35+
crossorigin="anonymous" />{{ end }}
2536

2637
{{ $cssHeader := $css1 | minify | fingerprint "sha512"}}
27-
<link href="{{ $cssHeader.RelPermalink }}" rel="stylesheet" type="text/css">
38+
<link href="{{ $cssHeader.RelPermalink }}" rel="stylesheet" type="text/css" id="css1">
2839

2940
{{ $cssNginxStyles := $css2 | minify | fingerprint "sha512"}}
30-
<link href="{{ $cssNginxStyles.RelPermalink }}" rel="stylesheet" type="text/css">
41+
<link href="{{ $cssNginxStyles.RelPermalink }}" rel="stylesheet" type="text/css" id="css2">
3142

3243
{{ $bootstrapDocs := $css3 | minify | fingerprint "sha512"}}
33-
<link href="{{ $bootstrapDocs.RelPermalink }}" rel="stylesheet" type="text/css">
44+
<link href="{{ $bootstrapDocs.RelPermalink }}" rel="stylesheet" type="text/css" id="css3">
3445

3546
{{ if ( not ( in .Site.Params.buildtype "package" ) ) }}
3647
{{ $cssCoveo := $css6 | minify | fingerprint "sha512"}}
37-
<link href="{{ $cssCoveo.RelPermalink }}" rel="stylesheet" type="text/css">
48+
<link href="{{ $cssCoveo.RelPermalink }}" rel="stylesheet" type="text/css" id="css6">
3849
{{ end }}
3950

4051
{{ $cssF5Hugo := $css4 | minify | fingerprint "sha512"}}
41-
<link href="{{ $cssF5Hugo.RelPermalink }}" rel="stylesheet" type="text/css">
52+
<link href="{{ $cssF5Hugo.RelPermalink }}" rel="stylesheet" type="text/css" id="css4">
4253

4354
{{ if fileExists "assets/css/custom.css" }}
44-
{{ $customCSS := resources.Get "css/custom.css" | minify | fingerprint "sha512" }}
45-
<link href="{{ $customCSS.RelPermalink }}" rel="stylesheet" type="text/css">
55+
{{ $customCSS := resources.Get "css/custom.css" | minify | fingerprint "sha512" }}
56+
<link href="{{ $customCSS.RelPermalink }}" rel="stylesheet" type="text/css">
4657
{{ end }}
4758

4859
<!-- load Highlight CSS -->
4960
{{ $cssHighlight := $css5 | minify | fingerprint "sha512"}}
50-
<link href="{{ $cssHighlight.RelPermalink }}" rel="stylesheet" type="text/css">
61+
<link href="{{ $cssHighlight.RelPermalink }}" rel="stylesheet" type="text/css" id="css5">

0 commit comments

Comments
 (0)