mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-27 11:38:28 -04:00
move dark mode script inline to avoid blinding flash of white background
This commit is contained in:
parent
4a59d3dd51
commit
468cc14d4b
@ -195,3 +195,5 @@ disableAliases = true
|
|||||||
for = "/**"
|
for = "/**"
|
||||||
[server.headers.values]
|
[server.headers.values]
|
||||||
Access-Control-Allow-Origin = "*"
|
Access-Control-Allow-Origin = "*"
|
||||||
|
# uncomment to get hashes of inline scripts via console errors:
|
||||||
|
# content-security-policy = "script-src 'self';"
|
||||||
|
@ -12,7 +12,8 @@
|
|||||||
{{ block "main" . }}{{ end }}
|
{{ block "main" . }}{{ end }}
|
||||||
</main>
|
</main>
|
||||||
{{ partial "page/footer" . }}
|
{{ partial "page/footer" . }}
|
||||||
{{ partial "scripts/_bundle" . -}}
|
{{ partialCached "scripts/set_theme" . -}}
|
||||||
|
{{ partialCached "scripts/_bundle" . -}}
|
||||||
{{ partial "scripts/shortcodes" . -}}
|
{{ partial "scripts/shortcodes" . -}}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
{{/* only parse and append analytics script on production site */}}
|
{{/* only parse and append analytics script on production site */}}
|
||||||
{{- $includeProdScripts := eq hugo.Environment "production" -}}
|
{{- $includeProdScripts := eq hugo.Environment "production" -}}
|
||||||
|
|
||||||
{{- $darkmode := resources.Get "js/dark-mode.js" | resources.ExecuteAsTemplate "js/dark-mode.js" . -}}
|
|
||||||
{{- $twemoji := resources.Get "js/vendor/twemoji.js" | resources.ExecuteAsTemplate "js/vendor/twemoji.js" . -}}
|
{{- $twemoji := resources.Get "js/vendor/twemoji.js" | resources.ExecuteAsTemplate "js/vendor/twemoji.js" . -}}
|
||||||
|
|
||||||
{{- $bundle := slice $darkmode $twemoji -}}
|
{{- $bundle := slice $twemoji -}}
|
||||||
|
|
||||||
{{- if $includeProdScripts }}
|
{{- if $includeProdScripts }}
|
||||||
{{- $fathom := resources.Get "js/fathom.js" | resources.ExecuteAsTemplate "js/fathom.js" . }}
|
{{- $fathom := resources.Get "js/fathom.js" | resources.ExecuteAsTemplate "js/fathom.js" . }}
|
||||||
{{- $bundle = slice $darkmode $twemoji $fathom }}
|
{{- $bundle = $bundle | append $fathom }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- $js := $bundle | resources.Concat "/js/app.js" -}}
|
{{- $js := $bundle | resources.Concat "/js/app.js" -}}
|
||||||
|
1
layouts/partials/scripts/set_theme.html
Normal file
1
layouts/partials/scripts/set_theme.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<script>(function(d){var u=d.document,f=u.body.classList,e=localStorage,c="dark_mode_pref",t=e.getItem(c),a="dark",n="light",r="{{ .Site.Params.Theme.defaultTheme | safeJS }}",o=u.querySelector(".dark-mode-toggle"),i=r===a,b=function(d){f.remove(a,n);f.add(d);i=d===a};t===a&&b(a);t===n&&b(n);if(!t){var s=function(d){return"(prefers-color-scheme: "+d+")"};d.matchMedia(s(a)).matches?b(a):d.matchMedia(s(n)).matches?b(n):b(r);d.matchMedia(s(a)).addListener((function(d){d.matches&&b(a)}));d.matchMedia(s(n)).addListener((function(d){d.matches&&b(n)}))}if(o){o.style.display="block";o.addEventListener("click",(function(){if(i){b(n);e.setItem(c,n)}else{b(a);e.setItem(c,a)}}),!0)}})(window)</script>
|
@ -78,7 +78,7 @@
|
|||||||
manifest-src 'self';
|
manifest-src 'self';
|
||||||
media-src 'self' data: https:;
|
media-src 'self' data: https:;
|
||||||
object-src 'none';
|
object-src 'none';
|
||||||
script-src 'self' cdn.ampproject.org/lts/v0.js cdn.ampproject.org/lts/v0/ cdn.ampproject.org/viewer/ cdn.ampproject.org/rtv/ 3p.ampproject.net buttons.github.io gist.github.com syndication.twitter.com platform.twitter.com player.vimeo.com 'sha256-y3Xr/40/KQnUvqk/kZO5us6t3i/I49BsbYjsH8ELhVg=' 'sha256-JGG0npUp+0ABq/NY1azjpQ0WBtm+m5gU58mzF+2DCXY=';
|
script-src 'self' cdn.ampproject.org/lts/v0.js cdn.ampproject.org/lts/v0/ cdn.ampproject.org/viewer/ cdn.ampproject.org/rtv/ 3p.ampproject.net buttons.github.io gist.github.com syndication.twitter.com platform.twitter.com player.vimeo.com 'sha256-1j1MKfE70TTCp5KmiC2YImxw2RMS52uCH5yXl1heG9U=' 'sha256-y3Xr/40/KQnUvqk/kZO5us6t3i/I49BsbYjsH8ELhVg=' 'sha256-JGG0npUp+0ABq/NY1azjpQ0WBtm+m5gU58mzF+2DCXY=';
|
||||||
style-src 'self' 'unsafe-inline' cdn.ampproject.org/rtv/ fonts.googleapis.com assets-cdn.github.com github.githubassets.com;
|
style-src 'self' 'unsafe-inline' cdn.ampproject.org/rtv/ fonts.googleapis.com assets-cdn.github.com github.githubassets.com;
|
||||||
worker-src 'self';
|
worker-src 'self';
|
||||||
block-all-mixed-content;
|
block-all-mixed-content;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user