Introduce server-rendered guestbook and moderation portal.
Persist data in SQLite (better-sqlite3); add WebAuthn YubiKey
admin auth, rate-limiting, spam heuristics, and sanitization.
Switch Docker image to run Node/standalone Astro (remove nginx),
update docker-compose, Dockerfile, astro.config, and package.json.
Add .env.example, docs/guestbook.md, gitignore updates, layouts,
API routes, and supporting lib/components/pages for the feature.
Introduce formatBlogDate, slugifyTag and getTagHref in src/lib/blog.ts
and
a reading time helper getReadingTime in src/lib/readingTime.ts. Update
blog index and post pages to display ISO dates, reading times and link
tags to /blog/tag/<slug>. Add a tag listing page at
src/pages/blog/tag/[tag].astro with styles and static paths generation