- Add self-hosted GoatCounter via systemd binary service (stats.monotrope.au) - Add Miniflux RSS reader via Docker Compose (reader.monotrope.au) - Extend Ansible playbook with goatcounter and miniflux tags; all provisioning is idempotent - Add Caddy reverse proxy blocks for both new services - Inject GoatCounter script in baseof.html (production builds only) - Add goatcounter and miniflux Makefile targets - Rewrite CLAUDE.md to reflect actual project state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
904 B
HTML
33 lines
904 B
HTML
{{ define "main" }}
|
|
{{ $rating := .Params.rating | default 0 }}
|
|
<article>
|
|
<h1>{{ .Title }}</h1>
|
|
|
|
<div class="book-meta">
|
|
{{ with .Params.book_author }}
|
|
<span class="meta-key">author</span>
|
|
<span class="meta-val author">{{ . }}</span>
|
|
{{ end }}
|
|
|
|
<span class="meta-key">read</span>
|
|
<span class="meta-val">{{ .Params.date_read | default (.Date.Format "January 2006") }}</span>
|
|
|
|
<span class="meta-key">rating</span>
|
|
<span class="meta-val">
|
|
<span class="rating-blocks">{{- strings.Repeat $rating "▓" -}}{{- strings.Repeat (sub 5 $rating) "░" -}}</span>
|
|
<span class="rating-num">{{ $rating }}/5</span>
|
|
</span>
|
|
</div>
|
|
|
|
{{ .Content }}
|
|
|
|
{{ with .Params.tags }}
|
|
<div class="post-footer">
|
|
<div class="tags">
|
|
{{ range . }}<a class="tag" href="/tags/{{ . | urlize }}/">{{ . }}</a>{{ end }}
|
|
</div>
|
|
</div>
|
|
{{ end }}
|
|
</article>
|
|
{{ end }}
|