diff options
| author | Eltrac <hi@guhub.cn> | 2025-06-07 02:50:09 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-06-07 02:50:09 +0800 |
| commit | f8f728edbfeecdfeb5e7b3f61994af6028a01680 (patch) | |
| tree | c26c78a7ebbbd86b3312627a431e95545a367a69 /layouts | |
| parent | 0660eba2d965e07e72496616ff3527aa6d2dd506 (diff) | |
| parent | 2108c84a3efdbd1d0583283fa53bc9851e3a5e63 (diff) | |
Merge branch 'master' of https://github.com/BigCoke233/geek-death-project
Former-commit-id: 92b9414863c95a4b034ca2687ab326484af52496
Diffstat (limited to 'layouts')
29 files changed, 168 insertions, 206 deletions
diff --git a/layouts/_default/featured.html b/layouts/_default/featured.html index 5b921e05..86d5f53a 100644 --- a/layouts/_default/featured.html +++ b/layouts/_default/featured.html @@ -16,18 +16,14 @@ <header> <div class="posts-item-meta"> <p> - <time> - {{ .Date.Format "Jan 2, 2006" }} - </time> + <time>{{ .Date.Format "Jan 2, 2006" }}</time> <span>·</span> - {{ range .Params.tags }} - <a class="post-tag" href="{{ site.LanguagePrefix }}/tags/{{ lower . | urlize }}/">#{{ . }}</a> - {{ end }} + {{ partial "components/tags" . }} </p> <h2 class="posts-item-title"> <a href="{{ .Permalink }}" - data-umami-event="Click post link from featured" + data-umami-event="🪶 Click post link from featured" > {{ if eq .Section "library" }} 读《{{ .Title }}》 diff --git a/layouts/_default/section.html b/layouts/_default/section.html index d1ad5401..c051990e 100644 --- a/layouts/_default/section.html +++ b/layouts/_default/section.html @@ -2,9 +2,8 @@ <article class="posts"> {{ partial "header.html" . }} <div id="posts-archive" class="posts-list"> - {{ partial "components/wordCountChart.html" . }} <!-- Post Archive List --> - {{ $first := true }} <!-- 在循环外定义一次 $first 变量 --> + {{ $remainingMonthsToOpen := 3 }} {{ range (where site.RegularPages "Type" "eq" "posts").GroupByDate "2006" -}} <section class="posts-year-archive"> <h1 class="posts-year-title"> @@ -12,8 +11,8 @@ <small class="font-mono">{{ T "archivePage.postCountAnnual" (len .Pages) }}</small> </h1> - {{ range .Pages.GroupByDate "January" }} <!-- 这里每个月的循环 --> - <details class="posts-month-archive"{{ if $first }} open{{ end }}> + {{ range .Pages.GroupByDate "January" }} + <details class="posts-month-archive"{{ if gt $remainingMonthsToOpen 0 }} open{{ end }}> <summary> <h2 class="posts-month-title"> {{ .Key }} @@ -44,7 +43,7 @@ </ul> </div> </details> - {{ $first = false }} <!-- 将 $first 设置为 false 只在第一个月份显示后 --> + {{ $remainingMonthsToOpen = sub $remainingMonthsToOpen 1 }} {{ end }} </section> {{ end }} diff --git a/layouts/_default/stats.html b/layouts/_default/stats.html index 07f9845f..8ca0cf47 100644 --- a/layouts/_default/stats.html +++ b/layouts/_default/stats.html @@ -117,6 +117,9 @@ </table> </section> + <h2>每月文章字数</h2> + {{ partial "components/word-count-chart" . }} + <hr> <section> diff --git a/layouts/_default/uncategorized.html b/layouts/_default/uncategorized.html index afec928a..d29fa2e8 100644 --- a/layouts/_default/uncategorized.html +++ b/layouts/_default/uncategorized.html @@ -12,7 +12,7 @@ <ol class="term-list-posts"> {{ range $uncategorized }} <li> - <a href="{{ .RelPermalink }}" data-umami-event="Click Post Link from Uncategorized"> + <a href="{{ .RelPermalink }}" data-umami-event="🈚️ Click Post Link from Uncategorized"> {{ .Title }}{{ with .Params.subtitle }}:<span class="posts-subtitle">{{. }}</span> {{ end }} </a> diff --git a/layouts/cards/section.html b/layouts/cards/section.html index 7e24facc..4ec8f4ee 100644 --- a/layouts/cards/section.html +++ b/layouts/cards/section.html @@ -5,25 +5,7 @@ {{- $cards := .Site.GetPage "section" "cards" }} <!-- 获取 "cards" 部分的内容 --> {{- $paginator := .Paginate $cards.Pages 10 }} <!-- 对该部分内容进行分页 --> {{- range $paginator.Pages }} - <div class="card" - style="view-transition-name: card-{{ .File.UniqueID }}"> - <div class="card-header"> - <h3 class="card-title"> - <a href="{{ .Permalink }}" class="card-title-link">{{ .Title }}</a> - </h3> - {{- if .Params.tags }} - <p class="card-tags markdown-body"> - {{- range .Params.tags }} - <a href="{{ "/tags/" | relURL }}{{ . | urlize }}" class="card-tag">#{{ . }}</a> - {{- end }} - </p> - {{- end }} - </div> - - <div class="card-content markdown-body"> - {{ .Summary }} - </div> - </div> + {{ partial "items/card" (dict "context" . "summary" true) }} {{- end }} </div> diff --git a/layouts/cards/single.html b/layouts/cards/single.html index d75d1ffa..0b269bca 100644 --- a/layouts/cards/single.html +++ b/layouts/cards/single.html @@ -1,34 +1,7 @@ {{ define "main" }} <article class="card-page"> - <a href="{{ .Site.LanguagePrefix }}/cards" - class="title-image-container"> - <img src="{{ .Site.Params.images.header }}" alt="Logo" - class="invert-if-dark title-image" - style="view-transition-name: title-image" - /> - </a> - <div class="card markdown-body post-content" - style="view-transition-name: card-{{ .File.UniqueID }}"> - <div class="card-header"> - <h3 class="card-title" - data-pagefind-meta="title" - data-pagefind-sort="date[data-date], weight[data-weight]" - data-date="{{ .Date.Format "2006-01-02" }}" - data-weight="5"> - {{ .Title }} - </h3> - {{- if .Params.tags }} - <p class="card-tags"> - {{- range .Params.tags }} - <a href="{{ "/tags/" | relURL }}{{ . | urlize }}" class="card-tag">#{{ . }}</a> - {{- end }} - </p> - {{- end }} - </div> - <div class="card-content"> - {{ .Content }} - </div> - </div> + {{ partial "components/logo" (dict "link" "cards") }} + {{ partial "items/card" (dict "context" .) }} {{- /* 查询引用了这个卡片的文章 */ -}} {{- $currentCard := .File.BaseFileName -}} <!-- 获取当前卡片的文件名 --> diff --git a/layouts/categories/taxonomy.html b/layouts/categories/taxonomy.html index 22c99a6d..38b96fdc 100644 --- a/layouts/categories/taxonomy.html +++ b/layouts/categories/taxonomy.html @@ -11,7 +11,7 @@ <a class="post-series-item" href="{{ .link }}" title="{{ .description }}" - data-umami-event="Click series link from Banner" + data-umami-event="🚩 Click series link from Banner" > <div class="post-series-cover"> <img src="{{ .cover }}" /> diff --git a/layouts/categories/term.html b/layouts/categories/term.html index a1ed5c51..6b647739 100644 --- a/layouts/categories/term.html +++ b/layouts/categories/term.html @@ -14,7 +14,7 @@ <ul class="term-list-posts"> {{ range where .Pages "Section" "ne" "cards" }} <li> - <a href="{{ .RelPermalink }}" data-umami-event="Click Post Link from Category Page"> + <a href="{{ .RelPermalink }}" data-umami-event="🗃️ Click Post Link from Category Page"> {{ .Title }}{{ with .Params.subtitle }}:<span class="posts-subtitle">{{. }}</span> {{ end }} </a> diff --git a/layouts/fictions/single.html b/layouts/fictions/single.html index e16dd4c7..83db7d60 100644 --- a/layouts/fictions/single.html +++ b/layouts/fictions/single.html @@ -11,16 +11,7 @@ > {{ partial "components/banner.html" . }} <h1 class="post-title" data-pagefind-meta="title">{{ .Title }}</h1> - <div class="post-meta"> - {{ if .Date }} - <time class="post-date" - datetime="{{ .Date.Format "2006-01-02 15:04:05 MST" }}" - data-pagefind-sort="date[datetime], weight[data-weight]" - data-weight="15"> - {{ .Date.Format "2006年1月2日" }} - </time> - {{ end }} - </div> + <div class="post-meta">{{ partial "components/date" . }}</div> </header> <!-- Post Content --> diff --git a/layouts/index.html b/layouts/index.html index abd5a9f7..cc1042fd 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -13,16 +13,14 @@ <header> <div class="posts-item-meta"> <p class="font-mono"> - <time> - {{ .Date.Format "Jan 2" }}, - </time> + <time>{{ .Date.Format "January 2" }},</time> <span>in <a href="/{{ .Section }}/">{{ .Section }}</a></span> </p> <h2 class="posts-item-title" {{ if $firstPost }} style="margin-bottom: 0"{{ end }}> <a href="{{ .Permalink }}" - data-umami-event="Click post link from index" + data-umami-event="🏠 Click post link from index" > {{ if eq .Section "library" }} 读《{{ .Title }}》 @@ -55,7 +53,7 @@ {{ end }} </div> <a href="/posts" class="index-section-morelink" - data-umami-event="Click more posts link"> + data-umami-event="➕ Click more posts link"> {{ T "moreLinks.posts" }} </a> </section> @@ -67,33 +65,12 @@ {{- $cards := .Site.GetPage "section" "cards" }} <!-- 获取 "cards" 部分的内容 --> {{- $paginator := .Paginate $cards.Pages 4 }} <!-- 对该部分内容进行分页 --> {{- range $paginator.Pages }} - <div class="card" - style="view-transition-name: card-{{ .File.UniqueID }}"> - <div class="card-header"> - <h3 class="card-title"> - <a - href="{{ .Permalink }}" - data-umami-event="Click card link from index" - class="card-title-link">{{ .Title }}</a> - </h3> - {{- if .Params.tags }} - <p class="card-tags markdown-body"> - {{- range .Params.tags }} - <a href="{{ "/tags/" | relURL }}{{ . | urlize }}" class="card-tag">#{{ . }}</a> - {{- end }} - </p> - {{- end }} - </div> - - <div class="card-content markdown-body"> - {{ .Summary }} - </div> - </div> + {{ partial "items/card" (dict "context" . "summary" true) }} {{- end }} </div> <div style="margin: 1rem 0"> <a href="/cards" class="index-section-morelink" - data-umami-event="Click more cards link"> + data-umami-event="➕ Click more cards link"> {{ T "moreLinks.cards" }} </a> </div> diff --git a/layouts/library/single.html b/layouts/library/single.html index fa53149b..1f051da7 100644 --- a/layouts/library/single.html +++ b/layouts/library/single.html @@ -5,6 +5,7 @@ style="view-transition-name: book-{{ .File.UniqueID }}"> <img class="lazy" loading="lazy" + data-pagefind-meta="image[src]" src="{{ .Params.cover }}" /> </div> @@ -21,24 +22,17 @@ </p> <!-- 导航作用的骷髅头图标 --> <div> - <a href="{{ .Site.LanguagePrefix }}/library" - class="title-image-container"> - <img src="{{ .Site.Params.images.header }}" alt="Logo" - class="invert-if-dark title-image" - style="view-transition-name: title-image" - /> - </a> + {{ partial "components/logo" (dict "link" "library") }} </div> </div> <div class="markdown-body book-body"> <div class="book-content"> {{ .Content }} </div> + <!-- Endnotes --> + {{ partial "components/endnotes" . }} <div class="book-footer"> - <p>于 <time - data-pagefind-sort="date[data-date], weight[data-weight]" - data-date="{{ .Date.Format "2006-01-02" }}" - data-weight="10">{{ .Date.Format "2006-01-02" }}</time> 读完</p> + <p>于 {{ partial "components/date" . }} 读完</p> </div> </div> {{ partial "components/comment.html" . }} diff --git a/layouts/partials/components/banner.html b/layouts/partials/components/banner.html index e14572f4..7ab4c826 100644 --- a/layouts/partials/components/banner.html +++ b/layouts/partials/components/banner.html @@ -2,6 +2,7 @@ <div class="post-banner"> <img class="lazy" loading="lazy" + data-pagefind-meta="image[src]" src="{{ . }}" > </div> diff --git a/layouts/partials/components/category-pill.html b/layouts/partials/components/category-pill.html new file mode 100644 index 00000000..aeb25747 --- /dev/null +++ b/layouts/partials/components/category-pill.html @@ -0,0 +1,8 @@ +{{ with .GetTerms "categories" }} + {{ with index . 0 }} + <a class="post-category" href="{{ .RelPermalink }}"> + {{ .Params.icon }} + <span>{{ .LinkTitle }}</span> + </a> + {{ end }} +{{ end }} diff --git a/layouts/partials/components/comment.html b/layouts/partials/components/comment.html index 2bdab023..13fff97e 100644 --- a/layouts/partials/components/comment.html +++ b/layouts/partials/components/comment.html @@ -27,11 +27,12 @@ </div> {{ if eq .Site.Language.Lang "zh" }} <p class="links-container"> - <a href="https://t.me/teaparty418" target="_blank"> + <a href="https://t.me/teaparty418" target="_blank" + data-umami-event="✈️ Click Telegram link from comment footer"> <img src="/img/telegram.svg" alt="Telegram Logo" /> 加入 Telegram 群组参与讨论 </a> - <a href="/sponsor"><span>💗</span>赞助作者</a> + <a href="/sponsor" data-umami-event="💗 Click sponsor button from comment footer"><span>💗</span>赞助作者</a> </p> {{ end }} <!-- giscus script --> diff --git a/layouts/partials/components/date.html b/layouts/partials/components/date.html new file mode 100644 index 00000000..1998202f --- /dev/null +++ b/layouts/partials/components/date.html @@ -0,0 +1,26 @@ +{{ if .Date }} + {{ $hour := .Date.Hour }} + {{ $fuzzyTimes := slice + (dict "limit" 5 "label" "凌晨") + (dict "limit" 7 "label" "清晨") + (dict "limit" 11 "label" "早上") + (dict "limit" 13 "label" "中午") + (dict "limit" 17 "label" "下午") + (dict "limit" 19 "label" "傍晚") + (dict "limit" 22 "label" "晚上") + }} + {{ $fuzzyTime := "深夜" }} {{/* default */}} + {{ range $fuzzyTimes }} + {{ if lt $hour .limit }} + {{ $fuzzyTime = .label }} + {{ break }} + {{ end }} + {{ end }} + + <time class="post-date" + datetime="{{ .Date.Format "2006-01-02 15:04:05 MST" }}" + data-pagefind-sort="date[datetime], weight[data-weight]" + data-weight="{{ if .Params.featured }}30{{ else }}20{{ end }}"> + {{ .Date.Format "2006年1月2日" }} {{ $fuzzyTime }} + </time> +{{ end }} diff --git a/layouts/partials/components/endnotes.html b/layouts/partials/components/endnotes.html new file mode 100644 index 00000000..e7245ad4 --- /dev/null +++ b/layouts/partials/components/endnotes.html @@ -0,0 +1,10 @@ +{{ if .Params.endnotes }} +<hr> +<div id="post-endnotes"> + <ul> + {{ range .Params.endnotes }} + <li>{{ . | markdownify }}</li> + {{ end }} + </ul> +</div> +{{ end }} diff --git a/layouts/partials/components/global-search.html b/layouts/partials/components/global-search.html index ab4ec5ff..d60f2f20 100644 --- a/layouts/partials/components/global-search.html +++ b/layouts/partials/components/global-search.html @@ -92,6 +92,8 @@ const turnOn = () => { search.classList.add("shown"); overlay.classList.add("shown"); + + umami.track('🔍 Open search panel') }; const turnOff = () => { search.classList.remove("shown"); diff --git a/layouts/partials/components/logo.html b/layouts/partials/components/logo.html new file mode 100644 index 00000000..36040768 --- /dev/null +++ b/layouts/partials/components/logo.html @@ -0,0 +1,10 @@ +{{ $default := "https://image.guhub.cn/uPic/2025/05/header.png" }} +{{ $link := .link | default "" }} +{{ $src := .src | default $default }} + +<a href="{{ .Site.LanguagePrefix }}/{{ $link }}" + class="title-image-container"> + <img src="{{ $src }}" alt="Logo" + class="invert-if-dark title-image" + style="view-transition-name: title-image" /> +</a> diff --git a/layouts/partials/components/now-read-this.html b/layouts/partials/components/now-read-this.html new file mode 100644 index 00000000..6f2950c2 --- /dev/null +++ b/layouts/partials/components/now-read-this.html @@ -0,0 +1,19 @@ +{{ with site.RegularPages.Related . | first 1 }} +<div class="nrt post-content"> + <h4 class="nrt-title">{{ T "nowReadThis" }}</h4> + {{ range . }} + <div class="nrt-header"> + <a class="nrt-link" href="{{ .RelPermalink }}" data-umami-event="🤔 Click Related Post"> + {{ .LinkTitle }} + {{ with .Params.subtitle }} + <span class="nrt-subtitle">:{{ . }}</span> + {{ end }} + </a> + <span class="nrt-reading-time">⏱️ {{ .ReadingTime }}min </span> + </div> + <div class="nrt-summary"> + <p>{{ .Summary | plainify }}</p> + </div> + {{ end }} +</div> +{{ end }} diff --git a/layouts/partials/components/post-page-header.html b/layouts/partials/components/post-page-header.html index 3c572b45..4363b74c 100644 --- a/layouts/partials/components/post-page-header.html +++ b/layouts/partials/components/post-page-header.html @@ -1,10 +1,8 @@ <header id="post-page-header" class="{{ with .Params.banner }}with-banner{{ end }} {{ if eq .Section "fictions" }}fiction-page-header{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/{{ if eq .Section "fictions" }}fictions{{ end }}" - class="title-image-container"> - <img src="{{ if eq .Section "fictions" }}/img/potted-skeleton.svg{{ else }}{{ .Site.Params.images.header }}{{ end }}" alt="Logo" - class="invert-if-dark title-image" - style="view-transition-name: title-image" - /> - </a> + {{ if eq .Section "fictions" }} + {{ partial "components/logo" (dict "src" "/img/potted-skeleton.svg" "link" "fictions") }} + {{ else }} + {{ partial "components/logo" }} + {{ end }} </header> diff --git a/layouts/partials/components/postnav.html b/layouts/partials/components/postnav.html index 5ada95e2..0174060c 100644 --- a/layouts/partials/components/postnav.html +++ b/layouts/partials/components/postnav.html @@ -1,24 +1,25 @@ <div id="posts-list-navigation"> <ul> <li class="{{ if eq "/" $.Page.RelPermalink }}active{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/">{{ T "postNav.latest" }}</a> + <a data-umami-event="🧭 Click postnav link" href="{{ .Site.LanguagePrefix }}/">{{ T "postNav.latest" }}</a> </li> {{ if eq .Site.Language.Lang "zh" }} <li class="{{ if eq "/featured/" $.Page.RelPermalink }}active{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/featured">{{ T "postNav.featured" }}</a> + <a data-umami-event="🧭 Click postnav link" href="{{ .Site.LanguagePrefix }}/featured">{{ T "postNav.featured" }}</a> </li> <li class="{{ if eq "/categories/" $.Page.RelPermalink }}active{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/categories">{{ T "postNav.categories" }}</a> + <a data-umami-event="🧭 Click postnav link" href="{{ .Site.LanguagePrefix }}/categories">{{ T "postNav.categories" }}</a> </li> <li class="{{ if eq "/tags/" $.Page.RelPermalink }}active{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/tags">{{ T "postNav.tags" }}</a> + <a data-umami-event="🧭 Click postnav link" href="{{ .Site.LanguagePrefix }}/tags">{{ T "postNav.tags" }}</a> </li> {{ end }} <li id="search-instruction"> <span>{{ T "searchInstruction" }}</span> </li> <li class="list-decoration invert-if-dark{{ if eq "/stats/" $.Page.RelPermalink }} active{{ end }}"> - <a href="{{ .Site.LanguagePrefix }}/stats" class="icon-link"><img src="/img/graph.svg" /></a> + <a href="{{ .Site.LanguagePrefix }}/stats" class="icon-link" + data-umami-event="📈 Click stats page link"><img src="/img/graph.svg" /></a> <li> </ul> </div> diff --git a/layouts/partials/components/tags.html b/layouts/partials/components/tags.html new file mode 100644 index 00000000..6ff7f594 --- /dev/null +++ b/layouts/partials/components/tags.html @@ -0,0 +1,3 @@ +{{ range .Params.tags }} +<a class="tag" href="{{ site.LanguagePrefix }}/tags/{{ lower . | urlize }}/">#{{ . }}</a> +{{ end }} diff --git a/layouts/partials/components/toc.html b/layouts/partials/components/toc.html index eb75badd..794328c9 100644 --- a/layouts/partials/components/toc.html +++ b/layouts/partials/components/toc.html @@ -1,3 +1,4 @@ +{{ if .Params.toc }} <div id="toc-container"><div id="toc">{{ .TableOfContents }}</div></div> <style> /* toc */ @@ -113,3 +114,4 @@ document.addEventListener('DOMContentLoaded', () => { headings.forEach(heading => observer.observe(heading)); }); </script> +{{ end }} diff --git a/layouts/partials/components/wordCountChart.html b/layouts/partials/components/word-count-chart.html index 65d0e986..65d0e986 100644 --- a/layouts/partials/components/wordCountChart.html +++ b/layouts/partials/components/word-count-chart.html diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 92e81353..214552d6 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,12 +1,7 @@ <header id="site-header"> <!-- Header Title --> <div class="header-title"> - <a href="{{ .Site.LanguagePrefix }}/"> - <img src="{{ .Site.Params.images.header }}" alt="Logo" - class="invert-if-dark title-image" - style="view-transition-name: title-image" - /> - </a> + {{ partial "components/logo" }} <a class="title-link" href="{{ .Site.LanguagePrefix }}/" >{{ .Site.Params.headTitle }}</a > @@ -16,7 +11,7 @@ <nav class="navigation"> {{ range .Site.Params.nav }} <div class="navigation-item {{ if strings.Contains $.Page.RelPermalink .link }}active{{ end }}"> - <a href="{{ .link }}" target="{{ .target }}">{{ .name }}</a> + <a href="{{ .link }}" target="{{ .target }}" data-umami-event="💊 Click header navigation">{{ .name }}</a> </div> {{ end }} </nav> @@ -24,7 +19,7 @@ {{- $lang := .Site.Language.Lang -}} {{- $switch := dict "en" (dict "url" "/zh/" "label" "切换至中文") "zh" (dict "url" "/en/" "label" "Switch to English") -}} {{- $entry := index $switch $lang -}} - <a href="{{ $entry.url }}" data-umami-event="Switch Language" + <a href="{{ $entry.url }}" data-umami-event="🌍 Switch Language" class="no-swup" title="{{ $entry.label }}"> {{ partial "snippets/globe-icon" . }} </a> diff --git a/layouts/partials/items/card.html b/layouts/partials/items/card.html new file mode 100644 index 00000000..b8a3c7c1 --- /dev/null +++ b/layouts/partials/items/card.html @@ -0,0 +1,18 @@ +{{ $ctx := .context }} +{{ $showSummary := .summary }} +<div class="card markdown-body post-content" + style="view-transition-name: card-{{ $ctx.File.UniqueID }}"> + <div class="card-header"> + <h3 class="card-title" + data-pagefind-meta="title" + data-pagefind-sort="date[data-date], weight[data-weight]" + data-date="{{ .Date.Format "2006-01-02" }}" + data-weight="5"> + <a href="{{ $ctx.RelPermalink }}">{{ $ctx.Title }}</a> + </h3> + <div class="card-tags">{{ partial "components/tags" $ctx }}</div> + </div> + <div class="card-content"> + {{ if $showSummary }}{{ $ctx.Summary }}{{ else }}{{ $ctx.Content }}{{ end }} + </div> +</div> diff --git a/layouts/posts/single.html b/layouts/posts/single.html index d31c9f30..7a7051f0 100644 --- a/layouts/posts/single.html +++ b/layouts/posts/single.html @@ -16,43 +16,10 @@ </h1> <!-- Post Meta --> <div class="post-meta"> - {{ if .Date }} - {{ $hour := .Date.Hour }} - {{ $fuzzyTime := "" }} - {{ if lt $hour 5 }} - {{ $fuzzyTime = "凌晨" }} - {{ else if lt $hour 7 }} - {{ $fuzzyTime = "清晨" }} - {{ else if lt $hour 11 }} - {{ $fuzzyTime = "早上" }} - {{ else if lt $hour 13 }} - {{ $fuzzyTime = "中午" }} - {{ else if lt $hour 17 }} - {{ $fuzzyTime = "下午" }} - {{ else if lt $hour 19 }} - {{ $fuzzyTime = "傍晚" }} - {{ else if lt $hour 23 }} - {{ $fuzzyTime = "晚上" }} - {{ else }} - {{ $fuzzyTime = "深夜" }} - {{ end }} - - <time class="post-date" - datetime="{{ .Date.Format "2006-01-02 15:04:05 MST" }}" - data-pagefind-sort="date[datetime], weight[data-weight]" - data-weight="{{ if .Params.featured }}30{{ else }}20{{ end }}"> - {{ .Date.Format "2006年1月2日" }} {{ $fuzzyTime }} - </time> - {{ end }} - {{ if or .Params.categories .Params.tags }} - <span>·</span> - {{ end }} - {{ if .Params.categories }} - <a class="post-category" href="/categories/{{ .Params.categories | urlize }}">{{ .Params.categories }}</a> - {{ end }} - {{ range .Params.tags }} - <a class="post-tag" href="{{ site.LanguagePrefix }}/tags/{{ lower . | urlize }}/">#{{ . }}</a> - {{ end }} + {{ partial "components/date" . }} + {{ if or .Params.categories .Params.tags }}<span>·</span>{{ end }} + {{ partial "components/category-pill" . }} + {{ partial "components/tags" . }} </div> </header> @@ -60,46 +27,18 @@ <div class="post-content markdown-body" style="view-transition-name: post-content-{{ .File.UniqueID }}"> <!-- TOC --> - {{ if .Params.toc }} {{ partial "components/toc" . }} - {{ end }} <!-- Content --> - <div id="post-content">{{ .Content }}</div> - <!-- Endnotes --> - {{ if .Params.endnotes }} - <hr> - <div id="post-endnotes"> - <ul> - {{ range .Params.endnotes }} - <li>{{ . | markdownify }}</li> - {{ end }} - </ul> + <div id="post-content"> + {{ .Content }} </div> - {{ end }} + <!-- Endnotes --> + {{ partial "components/endnotes" . }} </div> <!-- Comment --> {{ partial "components/comment.html" . }} - <!-- Now Read This --> - {{ with site.RegularPages.Related . | first 1 }} - <div class="nrt post-content"> - <h4 class="nrt-title">{{ T "nowReadThis" }}</h4> - {{ range . }} - <div class="nrt-header"> - <a class="nrt-link" href="{{ .RelPermalink }}" data-umami-event="Click Related Post"> - {{ .LinkTitle }} - {{ with .Params.subtitle }} - <span class="nrt-subtitle">:{{ . }}</span> - {{ end }} - </a> - <span class="nrt-reading-time">⏱️ {{ .ReadingTime }}min </span> - </div> - <div class="nrt-summary"> - <p>{{ .Summary | plainify }}</p> - </div> - {{ end }} - </div> - {{ end }} + {{ partial "components/now-read-this.html" . }} </article> {{ end }} diff --git a/layouts/shortcodes/link.html b/layouts/shortcodes/link.html new file mode 100644 index 00000000..1b9c4f79 --- /dev/null +++ b/layouts/shortcodes/link.html @@ -0,0 +1,14 @@ +<a href="{{.Get "link" }}" target="_blank" + class="{{ if (.Get "type") }}{{ .Get "type" }}-link{{ else }}blog-link{{ end }}"> + {{ if and (isset .Params "image") .Params.image }} + <div class="link-image"> + <img src="{{ .Params.image }}" class="no-fancybox" alt="{{ .Params.title }}" /> + </div> + {{ end }} + {{ if ne (.Get "type") "podcast" }} + <div class="link-content"> + <h4>{{.Get "title" }}</h4> + <p>{{.Get "description" }}</p> + </div> + {{ end }} +</a> diff --git a/layouts/term/term.html b/layouts/term/term.html index 2ecd7b12..2c9a4d59 100644 --- a/layouts/term/term.html +++ b/layouts/term/term.html @@ -9,7 +9,7 @@ <ul class="term-list-posts"> {{ range where .Pages "Section" "not in" (slice "cards" "library") }} <li> - <a href="{{ .RelPermalink }}" data-umami-event="Click Post Link from Category Page"> + <a href="{{ .RelPermalink }}" data-umami-event="🗃️ Click Post Link from Category Page"> {{ .Title }}{{ with .Params.subtitle }}:<span class="posts-subtitle">{{. }}</span> {{ end }} </a> @@ -28,7 +28,7 @@ {{ range $cards }} <div class="card"> <h3> - <a href="{{ .RelPermalink }}" data-umami-event="Click Card Link from Category Page"> + <a href="{{ .RelPermalink }}" data-umami-event="🗃️ Click Card Link from Category Page"> {{ .Title }} </a> </h3> |
