summaryrefslogtreecommitdiffstats
path: root/themes/danix-xyz-hacker/layouts/taxonomy/list.html
blob: cd4945a00de4d45221d36b47b05c7e33ad4bc7e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{{ 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-6 max-w-3xl">
    {{ $pinned := where .Pages "Params.pinned" true }}
    {{ $unpinned := where .Pages "Params.pinned" false }}

    <!-- If no unpinned posts found (because param is undefined), get all non-pinned pages -->
    {{ if eq (len $unpinned) 0 }}
      {{ $unpinned = where .Pages "Params.pinned" nil }}
      {{ if eq (len $unpinned) 0 }}
        {{ $unpinned = where .Pages "Params.pinned" "" }}
      {{ end }}
    {{ end }}

    <!-- Pinned posts first -->
    {{ range (sort $pinned "Date" "desc") }}
      <div class="relative">
        {{ partial "article-list-item.html" . }}
        <span class="absolute top-4 right-4 px-2 py-0.5 rounded text-xs font-mono bg-surface text-text-dim border border-border/30">
          {{ i18n "postCount" .Pages.Len }}
        </span>
      </div>
    {{ end }}

    <!-- Regular posts -->
    {{ range (sort $unpinned "Date" "desc") }}
      <div class="relative">
        {{ partial "article-list-item.html" . }}
        <span class="absolute top-4 right-4 px-2 py-0.5 rounded text-xs font-mono bg-surface text-text-dim border border-border/30">
          {{ i18n "postCount" .Pages.Len }}
        </span>
      </div>
    {{ end }}

    <!-- Empty state -->
    {{ if eq (len .Pages) 0 }}
      <div class="py-12 text-center text-text-dim">
        {{ i18n "noRelated" }}
      </div>
    {{ end }}
  </div>
</div>
{{ end }}