summaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-09-10 00:41:20 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-09-10 00:41:20 +0800
commit85db458aa1042a458df5c5a25d70dd06655c924a (patch)
tree84cfa7e1e8cb911adb7e6b5065d45a76e28c033e /layouts
parent9b94708706dd397bb808a6347591e7636263bb67 (diff)
Add updated document archive
Diffstat (limited to 'layouts')
-rw-r--r--layouts/partials/recent.html15
-rw-r--r--layouts/partials/updated-items.html16
-rw-r--r--layouts/updates/list.html20
3 files changed, 39 insertions, 12 deletions
diff --git a/layouts/partials/recent.html b/layouts/partials/recent.html
index 47c8332..cbe91af 100644
--- a/layouts/partials/recent.html
+++ b/layouts/partials/recent.html
@@ -1,18 +1,8 @@
-{{- $items := slice -}}
-{{- range where site.RegularPages "Section" "journal" -}}
- {{- $items = $items | append (dict "page" . "kind" "journal" "sortDate" (.Date.Format "2006-01-02")) -}}
-{{- end -}}
-{{- range where site.RegularPages "Section" "notes" -}}
- {{- $page := . -}}
- {{- with $page.Params.recent -}}
- {{- $items = $items | append (dict "page" $page "kind" "note" "sortDate" (time.Format "2006-01-02" .)) -}}
- {{- end -}}
-{{- end -}}
-{{- $items = sort $items "sortDate" "desc" -}}
+{{- $items := partial "updated-items.html" . -}}
<section class="recent" aria-labelledby="recent-title">
<h2 id="recent-title">RECENT</h2>
<ol class="document-list">
- {{- range $items }}
+ {{- range first site.Params.recentLimit $items }}
<li>
<time datetime="{{ .sortDate }}">{{ .sortDate }}</time>
<span class="document-kind">[{{ .kind }}]</span>
@@ -20,4 +10,5 @@
</li>
{{- end }}
</ol>
+ <p class="recent-more"><a href="{{ "updates/" | relURL }}">Read more</a></p>
</section>
diff --git a/layouts/partials/updated-items.html b/layouts/partials/updated-items.html
new file mode 100644
index 0000000..5f738a8
--- /dev/null
+++ b/layouts/partials/updated-items.html
@@ -0,0 +1,16 @@
+{{- $items := slice -}}
+{{- range $section := slice "journal" "notes" -}}
+ {{- $kind := cond (eq $section "notes") "note" "journal" -}}
+ {{- range where site.RegularPages "Section" $section -}}
+ {{- if not .Params.created -}}
+ {{- errorf "Missing required created date in %s" .File.Path -}}
+ {{- end -}}
+ {{- if not .Params.updated -}}
+ {{- errorf "Missing required updated date in %s" .File.Path -}}
+ {{- end -}}
+ {{- $sortDate := time.Format "2006-01-02" .Params.updated -}}
+ {{- $sortKey := printf "%s|%s" $sortDate .RelPermalink -}}
+ {{- $items = $items | append (dict "page" . "kind" $kind "sortDate" $sortDate "sortKey" $sortKey) -}}
+ {{- end -}}
+{{- end -}}
+{{- return (sort $items "sortKey" "desc") -}}
diff --git a/layouts/updates/list.html b/layouts/updates/list.html
new file mode 100644
index 0000000..125ba79
--- /dev/null
+++ b/layouts/updates/list.html
@@ -0,0 +1,20 @@
+{{ define "main" }}
+ <article lang="{{ default "en" .Params.lang }}">
+ <header class="document-header">
+ <h1>{{ .Title }}</h1>
+ </header>
+ {{ .Content }}
+ {{- $items := partial "updated-items.html" . -}}
+ <section class="updates-list" aria-label="All updates">
+ <ol class="document-list">
+ {{- range $items }}
+ <li>
+ <time datetime="{{ .sortDate }}">{{ .sortDate }}</time>
+ <span class="document-kind">[{{ .kind }}]</span>
+ <a href="{{ .page.RelPermalink }}" lang="{{ .page.Params.lang }}">{{ .page.LinkTitle }}</a>
+ </li>
+ {{- end }}
+ </ol>
+ </section>
+ </article>
+{{ end }}