summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBigCoke233 <hi@guhub.cn>2026-02-02 23:26:31 +0800
committerBigCoke233 <hi@guhub.cn>2026-02-02 23:26:31 +0800
commit8dc6451da724480e46988f14d9ecef793f4595ec (patch)
treeafaba7ba4c9ed6b6cf61e1a5d0a6efc1d35e9a5f
parent807a066fa4ce1adc11ef22a714f2e06c705ba941 (diff)
perf: book cover loads faster
- Transform and compress cover images - Add minimal height to covers, so they don't collapse before loading Former-commit-id: fcace16ee86edc7969bf98de89a15d526c35dcec
-rw-r--r--layouts/_partials/items/book.html16
1 files changed, 15 insertions, 1 deletions
diff --git a/layouts/_partials/items/book.html b/layouts/_partials/items/book.html
index 26c7d2d3..5b6e61c2 100644
--- a/layouts/_partials/items/book.html
+++ b/layouts/_partials/items/book.html
@@ -1,5 +1,19 @@
{{ $ctx := .ctx }}
{{ $NoViewTransition := (or .NoViewTransition false) }}
+
+<!-- Transform cover images via Cloudflare URL patterns -->
+{{ $splitURL := split $ctx.Params.cover "/" }}
+{{ $cover := "" }}
+{{ $i := 0 }}
+{{ range $splitURL }}
+ {{ if eq $i 3 }}
+ {{ $cover = printf "%s%s" $cover "cdn-cgi/image/width=150,quality=75/" }}
+ {{ end }}
+ {{ $cover = printf "%s%s/" $cover . }}
+ {{ $i = add $i 1 }}
+{{ end }}
+{{ $cover = strings.TrimSuffix "/" $cover }}
+
<div{{ if eq .Params.rating 1 }} class="opacity-50 z-0"{{ end }}
{{ if not $NoViewTransition }}style="view-transition-name: book-{{ $ctx.File.UniqueID }}"{{ end }}>
<a href="{{ $ctx.Permalink }}"
@@ -10,7 +24,7 @@
{{ if eq $ctx.Params.rating 1 }} relative
{{ else if eq $ctx.Params.rating 5 }} border-amber-300 shadow-amber-200 shadow-xl
{{ else }} border-white{{ end }}">
- <img class="lazy w-full block" src="{{ $ctx.Params.cover }}" />
+ <img class="lazy w-full block min-h-[120px] bg-neutral-500" src="{{ $cover }}" />
{{ if eq $ctx.Params.rating 1 }}
<div class="absolute z-1 top-[25%] left-[25%] h-[50%] w-[50%]"
style="background-image: url('https://r2.eltr.ac/uPic/2025/05/thumbs-down.png');