Serves Pete's classified-story archive over HTTP alongside the Matrix
bot. Three sections (gaming/tech/politics), Animal-Crossing-vibe Tailwind
templates, day/night palette driven by the visitor's browser clock.
Web port configurable via web.listen_addr and ${PETE_WEB_PORT} in
docker-compose. Tailwind built in a node stage in the Dockerfile so
deployments don't need node at runtime.
38 lines
1.7 KiB
HTML
38 lines
1.7 KiB
HTML
{{define "title"}}{{.Channel.Title}} — {{.SiteTitle}}{{end}}
|
|
|
|
{{define "main"}}
|
|
<section class="mt-2 mb-8">
|
|
<div class="rounded-3xl bg-theme-{{.Channel.Theme}} text-white p-6 sm:p-10 shadow-pete relative overflow-hidden">
|
|
<div class="absolute -top-6 -right-6 text-[12rem] opacity-20 select-none" aria-hidden="true">{{.Channel.Emoji}}</div>
|
|
<div class="relative">
|
|
<p class="text-sm uppercase tracking-[0.2em] opacity-80">section</p>
|
|
<h1 class="font-display text-4xl sm:text-5xl font-bold mt-1">{{.Channel.Title}}</h1>
|
|
<p class="mt-2 max-w-xl text-white/85">{{.Channel.Blurb}}</p>
|
|
<p class="mt-4 text-xs uppercase tracking-wider opacity-75">{{.Total}} stories archived</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{{if .Stories}}
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5">
|
|
{{range .Stories}}
|
|
{{template "card" dict "Story" . "Theme" $.Channel.Theme}}
|
|
{{end}}
|
|
</div>
|
|
|
|
<nav class="mt-10 flex items-center justify-between">
|
|
{{if .HasPrev}}
|
|
<a href="{{.PrevURL}}" class="rounded-full bg-[color:var(--card)] border-2 border-[color:var(--ink)]/10 px-5 py-2 font-semibold shadow-pete hover:-translate-y-0.5 transition">← newer</a>
|
|
{{else}}<span></span>{{end}}
|
|
<span class="text-sm text-[color:var(--ink)]/60">page {{.Page}}</span>
|
|
{{if .HasNext}}
|
|
<a href="{{.NextURL}}" class="rounded-full bg-theme-{{.Channel.Theme}} text-white px-5 py-2 font-semibold shadow-pete hover:-translate-y-0.5 transition">older →</a>
|
|
{{else}}<span></span>{{end}}
|
|
</nav>
|
|
{{else}}
|
|
<div class="rounded-3xl bg-[color:var(--card)] border-2 border-dashed border-[color:var(--ink)]/15 p-10 text-center text-[color:var(--ink)]/60">
|
|
Pete hasn't catalogued anything for {{.Channel.Title}} yet.
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|