diff options
| -rw-r--r-- | hugo.toml | 5 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/shortcodes/quote.html | 15 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/taxonomy/list.html | 31 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/taxonomy/term.html | 38 |
4 files changed, 89 insertions, 0 deletions
@@ -77,6 +77,11 @@ enableRobotsTXT = true name = "legal" weight = 4 +# Taxonomies +[taxonomies] + tag = "tags" + category = "categories" + # Theme parameters [params] siteName = "danix.xyz" diff --git a/themes/danix-xyz-hacker/layouts/shortcodes/quote.html b/themes/danix-xyz-hacker/layouts/shortcodes/quote.html new file mode 100644 index 0000000..1ed5c3c --- /dev/null +++ b/themes/danix-xyz-hacker/layouts/shortcodes/quote.html @@ -0,0 +1,15 @@ +{{- $source := .Get "source" -}} +{{- $src := .Get "src" -}} + +<blockquote class="my-8 pl-6 border-l-4 border-accent/50 italic text-text-dim"> + <p class="text-lg">{{ .Inner }}</p> + {{- if $source -}} + <footer class="mt-4 text-sm not-italic text-text-dim"> + {{- if $src -}} + — <a href="{{ $src }}" class="text-accent hover:underline">{{ $source }}</a> + {{- else -}} + — {{ $source }} + {{- end -}} + </footer> + {{- end -}} +</blockquote> diff --git a/themes/danix-xyz-hacker/layouts/taxonomy/list.html b/themes/danix-xyz-hacker/layouts/taxonomy/list.html new file mode 100644 index 0000000..fd4b5d9 --- /dev/null +++ b/themes/danix-xyz-hacker/layouts/taxonomy/list.html @@ -0,0 +1,31 @@ +{{ define "main" }} +<div class="mx-auto px-4 py-12 max-w-4xl"> + <!-- Page title with taxonomy name --> + <h1 class="text-4xl md:text-5xl font-bold text-accent mb-12"> + {{ i18n .Data.Plural }} + </h1> + + <!-- Articles list --> + <div class="space-y-2 max-w-2xl"> + {{ $pinned := where .Pages "Params.pinned" true }} + {{ $unpinned := where .Pages "Params.pinned" false }} + + <!-- Pinned posts first --> + {{ range (sort $pinned "Date" "desc") }} + {{ partial "article-list-item.html" . }} + {{ end }} + + <!-- Regular posts --> + {{ range (sort $unpinned "Date" "desc") }} + {{ partial "article-list-item.html" . }} + {{ end }} + + <!-- Empty state --> + {{ if eq (len .Pages) 0 }} + <div class="py-12 text-center text-text-dim"> + {{ i18n "noRelated" }} + </div> + {{ end }} + </div> +</div> +{{ end }} diff --git a/themes/danix-xyz-hacker/layouts/taxonomy/term.html b/themes/danix-xyz-hacker/layouts/taxonomy/term.html new file mode 100644 index 0000000..5353715 --- /dev/null +++ b/themes/danix-xyz-hacker/layouts/taxonomy/term.html @@ -0,0 +1,38 @@ +{{ define "main" }} +<div class="mx-auto px-4 py-12 max-w-4xl"> + <!-- Page title with taxonomy type --> + <h1 class="text-4xl md:text-5xl font-bold text-accent mb-2"> + {{ i18n .Data.Singular }} + </h1> + + <!-- Current term heading --> + <p class="text-lg text-text-dim mb-12"> + <span class="inline-flex items-center px-3 py-1 rounded text-sm font-medium border border-accent/30 text-accent"> + {{ .Title }} + </span> + </p> + + <!-- Articles list --> + <div class="space-y-2 max-w-2xl"> + {{ $pinned := where .Pages "Params.pinned" true }} + {{ $unpinned := where .Pages "Params.pinned" false }} + + <!-- Pinned posts first --> + {{ range (sort $pinned "Date" "desc") }} + {{ partial "article-list-item.html" . }} + {{ end }} + + <!-- Regular posts --> + {{ range (sort $unpinned "Date" "desc") }} + {{ partial "article-list-item.html" . }} + {{ end }} + + <!-- Empty state --> + {{ if eq (len .Pages) 0 }} + <div class="py-12 text-center text-text-dim"> + {{ i18n "noRelated" }} + </div> + {{ end }} + </div> +</div> +{{ end }} |
