From 61c72ae206d05066dd51fb1bb55c7c24872de257 Mon Sep 17 00:00:00 2001 From: geekifan Date: Mon, 21 Apr 2025 20:10:57 +0800 Subject: [PATCH] update head.html --- data/origin/basic.yaml | 39 +++++++++++++++++++++ data/origin/cors.yaml | 54 +++++++++++++++++++++++++++++ hugo.toml | 4 +++ layouts/partials/head.html | 23 ++++++++---- layouts/partials/metadata-hook.html | 1 + 5 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 data/origin/basic.yaml create mode 100644 data/origin/cors.yaml create mode 100644 layouts/partials/metadata-hook.html diff --git a/data/origin/basic.yaml b/data/origin/basic.yaml new file mode 100644 index 0000000..2d52982 --- /dev/null +++ b/data/origin/basic.yaml @@ -0,0 +1,39 @@ +# fonts + +webfonts: /assets/lib/fonts/main.css + +# Libraries + +toc: + css: /assets/lib/tocbot/tocbot.min.css + js: /assets/lib/tocbot/tocbot.min.js + +fontawesome: + css: /assets/lib/fontawesome-free/css/all.min.css + +search: + js: /assets/lib/simple-jekyll-search/simple-jekyll-search.min.js + +mermaid: + js: /assets/lib/mermaid/mermaid.min.js + +dayjs: + js: + common: /assets/lib/dayjs/dayjs.min.js + locale: /assets/lib/dayjs/locale/en.js + relativeTime: /assets/lib/dayjs/plugin/relativeTime.js + localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.js + +glightbox: + css: /assets/lib/glightbox/glightbox.min.css + js: /assets/lib/glightbox/glightbox.min.js + +lazy-polyfill: + css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css + js: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.umd.min.js + +clipboard: + js: /assets/lib/clipboard/clipboard.min.js + +mathjax: + js: /assets/lib/mathjax/tex-chtml.js diff --git a/data/origin/cors.yaml b/data/origin/cors.yaml new file mode 100644 index 0000000..e9bb4eb --- /dev/null +++ b/data/origin/cors.yaml @@ -0,0 +1,54 @@ +# Resource Hints +resource_hints: + - url: https://fonts.googleapis.com + links: + - rel: preconnect + - rel: dns-prefetch + - url: https://fonts.gstatic.com + links: + - rel: preconnect + opts: [crossorigin] + - rel: dns-prefetch + - url: https://cdn.jsdelivr.net + links: + - rel: preconnect + - rel: dns-prefetch + +# Web Fonts +webfonts: https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Source+Sans+Pro:wght@400;600;700;900&display=swap + +# Libraries + +toc: + css: https://cdn.jsdelivr.net/npm/tocbot@4.32.2/dist/tocbot.min.css + js: https://cdn.jsdelivr.net/npm/tocbot@4.32.2/dist/tocbot.min.js + +fontawesome: + css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.7.1/css/all.min.css + +search: + js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js + +mermaid: + js: https://cdn.jsdelivr.net/npm/mermaid@11.4.0/dist/mermaid.min.js + +dayjs: + js: + common: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/dayjs.min.js + locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/locale/:LOCALE.js + relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/plugin/relativeTime.js + localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/plugin/localizedFormat.js + +glightbox: + css: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/css/glightbox.min.css + js: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/js/glightbox.min.js + +lazy-polyfill: + css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css + js: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js + +clipboard: + js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js + +mathjax: + js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js diff --git a/hugo.toml b/hugo.toml index 5979e09..865a1b3 100644 --- a/hugo.toml +++ b/hugo.toml @@ -20,6 +20,10 @@ path = "github.com/gohugoio/hugo-mod-bootstrap-scss/v5" [params] theme_version = "5.2.0" + toc = true + +[params.assets] + self_host = true [params.social] name = "Yifan" diff --git a/layouts/partials/head.html b/layouts/partials/head.html index d4e891e..9b62135 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -1,3 +1,5 @@ +{{ $origin := cond (eq .Site.Params.self_host true) "basic" "cors" }} +{{ $data := index .Site.Data.origin $origin }} @@ -42,7 +44,7 @@ {{ partial "favicons.html" . }} - {{ if not site.Params.assets.self_host.enabled }} + {{ if not site.Params.assets.self_host }} {{ range site.Data.origin.cors.resource_hints }} {{ range .links }} @@ -56,26 +58,33 @@ {{ end }} - + {{ $opts := dict + "transpiler" "dartsass" + "targetPath" "css/main.css" + "enableSourceMap" true + }} + {{ $sass := resources.Get "scss/main.bundle.scss" }} + {{ $style := $sass | toCSS $opts | minify | fingerprint }} + - + - + {{ if and site.Params.toc .Params.toc }} - + {{ end }} {{ if or (eq .Type "post") (eq .Type "page") (eq .Kind "home") }} - + {{ end }} {{ if or (eq .Type "page") (eq .Type "post") }} - + {{ end }} diff --git a/layouts/partials/metadata-hook.html b/layouts/partials/metadata-hook.html new file mode 100644 index 0000000..fd7e9bd --- /dev/null +++ b/layouts/partials/metadata-hook.html @@ -0,0 +1 @@ +