From f94f60aef65497638624f3cdb17f74e687146fca Mon Sep 17 00:00:00 2001 From: ZhenShuo Leo <98386542+ZhenShuo2021@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:31:28 +0800 Subject: [PATCH] perf(repo-card): load CSS once globally instead of per card --- layouts/partials/vendor.html | 29 +++++++++++++++++++++++++++++ layouts/shortcodes/codeberg.html | 7 +------ layouts/shortcodes/forgejo.html | 7 +------ layouts/shortcodes/gitea.html | 7 +------ layouts/shortcodes/github.html | 7 +------ layouts/shortcodes/huggingface.html | 7 +------ 6 files changed, 34 insertions(+), 30 deletions(-) diff --git a/layouts/partials/vendor.html b/layouts/partials/vendor.html index 9210cc57..cb074675 100644 --- a/layouts/partials/vendor.html +++ b/layouts/partials/vendor.html @@ -117,3 +117,32 @@ src="{{ $youtubeLiteLib.RelPermalink }}" integrity="{{ $youtubeLiteLib.Data.Integrity }}"> {{ end }} + +{{/* Repo cards */}} +{{ $repoCards := slice "github" "gitea" "hugging-face" "codeberg" "forgejo" }} +{{ $hasRepoCards := false }} +{{ range $repoCards }} + {{ if $.Page.HasShortcode . }} + {{ $hasRepoCards = true }} + {{ end }} +{{ end }} + +{{ if $hasRepoCards }} + {{ $repoColors := site.Data.repoColors }} + {{ $cssRules := slice }} + + {{/* default color */}} + {{ $cssRules = $cssRules | append ".language-dot[data-language=\"default\"] { background-color: #0077b6; }" }} + + {{/* Hugging Face model color */}} + {{ $cssRules = $cssRules | append ".language-dot[data-language=\"model\"] { background-color: #ff6b35; }" }} + + {{ range $lang, $color := $repoColors }} + {{ $cssRules = $cssRules | append (printf ".language-dot[data-language=\"%s\"] { background-color: %s; }" $lang $color) }} + {{ end }} + + {{ $repoCardCss := resources.FromString "css/repo-cards.css" (delimit $cssRules "\n") + | minify | resources.Fingerprint (.Site.Params.fingerprintAlgorithm | default "sha512") + }} + +{{ end }} diff --git a/layouts/shortcodes/codeberg.html b/layouts/shortcodes/codeberg.html index 3b6b04aa..50db132c 100644 --- a/layouts/shortcodes/codeberg.html +++ b/layouts/shortcodes/codeberg.html @@ -33,12 +33,7 @@