51 lines
1.5 KiB
HTML
51 lines
1.5 KiB
HTML
{{ define "main" }}
|
||
<section class="layout-page">
|
||
<div class="page-int section-stack">
|
||
<header class="space-y-2">
|
||
<h1 class="heading-page text-2xl sm:text-3xl">Projects</h1>
|
||
|
||
{{ with .Site.Params.projectsIntro }}
|
||
<p class="max-w-xl text-sm text-muted">
|
||
{{ . }}
|
||
</p>
|
||
{{ else }}
|
||
<p class="max-w-xl text-sm text-muted">
|
||
A selection of things I’ve been building – themes, tools, and experiments.
|
||
</p>
|
||
{{ end }}
|
||
</header>
|
||
|
||
<!-- Cards -->
|
||
{{/* you can tweak sorting if you want; this is newest first */}}
|
||
{{ $paginator := .Paginate (.Pages.ByDate.Reverse) }}
|
||
|
||
<div class="grid gap-4 md:grid-cols-2">
|
||
{{ range $paginator.Pages }}
|
||
{{ partial "components/project-card.html" (dict "Page" . "Root" $) }}
|
||
{{ end }}
|
||
</div>
|
||
|
||
<!-- Pagination -->
|
||
{{ if gt $paginator.TotalPages 1 }}
|
||
<nav class="mt-6 flex items-center justify-between text-xs text-muted">
|
||
{{ if $paginator.HasPrev }}
|
||
<a href="{{ $paginator.Prev.URL }}" class="link-underline">
|
||
← Newer projects
|
||
</a>
|
||
{{ else }}
|
||
<span></span>
|
||
{{ end }}
|
||
|
||
{{ if $paginator.HasNext }}
|
||
<a href="{{ $paginator.Next.URL }}" class="link-underline">
|
||
Older projects →
|
||
</a>
|
||
{{ else }}
|
||
<span></span>
|
||
{{ end }}
|
||
</nav>
|
||
{{ end }}
|
||
</div>
|
||
</section>
|
||
{{ end }}
|