Add GoatCounter analytics, Miniflux, and update CLAUDE.md
- 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>
This commit is contained in:
32
site/layouts/reviews/single.html
Normal file
32
site/layouts/reviews/single.html
Normal file
@@ -0,0 +1,32 @@
|
||||
{{ 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 }}
|
||||
Reference in New Issue
Block a user