From 633ed98ce80185fb7cb1f2fe751c1c359398b533 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Sun, 2 Feb 2025 21:38:33 +0800 Subject: feat(theme): shorter index page show only current year's posts on index page; show all posts in /posts with folded sections --- assets/css/components/_pages.scss | 53 +++++++++++++++++++++++++++++++++- assets/css/components/_utility.scss | 4 +++ content/posts/_index.md | 5 +--- layouts/index.html | 11 +++++-- layouts/section/posts.html | 57 +++++++++++++++++++++++++++++++++++++ 5 files changed, 122 insertions(+), 8 deletions(-) create mode 100644 layouts/section/posts.html diff --git a/assets/css/components/_pages.scss b/assets/css/components/_pages.scss index c7d679de..503af72e 100644 --- a/assets/css/components/_pages.scss +++ b/assets/css/components/_pages.scss @@ -1,6 +1,6 @@ /* posts list */ -#posts-list { +.posts-list { min-height: 600px; & > section:nth-child(1) > ul:nth-child(3) > li.first-post > div > div.posts-title.col-xs-9.col-sm-10 > div { @@ -236,3 +236,54 @@ section.taxonomy { display: none; } } + +/* posts archive */ + +#posts-archive { + @mixin section-title { + display: flex; + justify-content: space-between; + align-items: center; + small { + color: var(--secondary-text-color); + font-size: .8rem; + } + } + + .posts-year-archive { + .posts-year-title { + border-bottom: 2px solid var(--border-color); + padding: .5rem 0; + font-size: 1.5rem; + @include section-title; + } + } + + .posts-month-archive { + summary { + list-style: none; + + .posts-month-title { + font-size: 1.1rem; + border-bottom: 1px dashed var(--border-color); + display: inline-block; + width: 100%; + padding: 0.5rem 0.25rem; + margin: 0; + @include section-title; + } + } + } +} + +#previous-post-link { + display: block; + width: fit-content; + margin: 2rem auto; + + &::before, &::after { + content: "-"; + margin: 0 0.5rem; + text-decoration: none; + } +} diff --git a/assets/css/components/_utility.scss b/assets/css/components/_utility.scss index f247c850..a9907339 100644 --- a/assets/css/components/_utility.scss +++ b/assets/css/components/_utility.scss @@ -46,3 +46,7 @@ figure { margin: 0 -10rem; } } + +.font-mono { + font-family: var(--mono-font-family); +} diff --git a/content/posts/_index.md b/content/posts/_index.md index 7da8fe23..87d6b868 100644 --- a/content/posts/_index.md +++ b/content/posts/_index.md @@ -1,6 +1,3 @@ --- -title: Posts +title: 所有文章 --- - - - diff --git a/layouts/index.html b/layouts/index.html index 6faabe06..a90d5712 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -53,12 +53,13 @@ {{ end }} -
+
{{ $currentYear := now.Format "2006" }} {{ $isFirstPost := true }} - {{ range (where site.RegularPages "Type" "in" site.Params.mainSections).GroupByDate "2006" -}} + {{ $currentYear := now.Format "2006" }} + {{ range (where (where site.RegularPages "Type" "in" site.Params.mainSections) "Date.Year" "eq" (int $currentYear)).GroupByDate "2006" -}}

{{ .Key }}

@@ -107,7 +108,11 @@ {{ end }}
-
+ {{ end }} + {{ if eq .Site.Language.Lang "en" }} + + {{ else if eq .Site.Language.Lang "zh" }} + {{ end }}
diff --git a/layouts/section/posts.html b/layouts/section/posts.html new file mode 100644 index 00000000..3c2c862c --- /dev/null +++ b/layouts/section/posts.html @@ -0,0 +1,57 @@ +{{ partial "snippets/document-start.html" . }} +
+ {{ partial "header.html" . }} +
+ + {{ range (where site.RegularPages "Type" "in" site.Params.mainSections).GroupByDate "2006" -}} +
+

+ {{ .Key }} + {{ len .Pages }} TOTAL POSTS +

+ + {{ range .Pages.GroupByDate "January" }} +
+ +

+ {{ .Key }} + {{ len .Pages }} POSTS +

+
+
    + {{ range .Pages }} +
  • +
    +
    + +
    +
    +
    + +
    + {{ with .Params.categories }} +
    + {{ . }} +
    + {{ end }} +
    +
    +
    +
    +
  • + {{ end }} +
+
+ {{ end }} + +
+ {{ end }} +
+
+{{ partial "snippets/document-end.html" . }} -- cgit v1.2.3