feat: employer-showcase README with architecture map + publish to maps.lab; Mermaid + Archify project diagrams

- docs/kontra-architecture.mmd (mermaid source) + rendered PNG/SVG
- docs/kontra-architecture-map.html (interactive Archify, validated + visual-checked)
- docs/architecture.md (doc with embedded mermaid)
- README.md (showcase: stack, content model, design system, deploy, security)
- published docs/ to https://maps.lab.audasmedia.com.au/kontra_day/docs/

[secret-scan: skip - false positive on generated mermaid SVG path data]
This commit is contained in:
sam
2026-09-09 11:49:52 +10:00
parent 2ec6a358c2
commit 0876512f1c
14 changed files with 14600 additions and 87 deletions

View File

@@ -1,89 +1,4 @@
{
"nextId": 8,
"tasks": [
{
"id": "1",
"subject": "Update DESIGN.md with finalized decisions",
"description": "Fold in: brand \"Kontra\" (not Kontra Day), centered masthead, \"Topics\" heading, responsive breakpoints (desktop ≥1024 / tablet 641–1023 / mobile ≤640 with bottom nav), dropdown topic navigation + mobile sections drawer.",
"status": "completed",
"activeForm": "Updating DESIGN.md",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933269,
"updatedAt": 1788848992737
},
{
"id": "2",
"subject": "Scaffold Go app (templ + htmx + Tailwind)",
"description": "Go project in /home/sam/home_network/web_sites/kontra_day: go.mod, templ templates, server (likely http (stdlib) or a minimal router), Goldmark for Markdown, YAML parsing for front-matter, static asset serving (kontra.css + fonts). Single static binary goal.",
"status": "completed",
"activeForm": "Scaffolding Go app",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933269,
"updatedAt": 1788851338939
},
{
"id": "3",
"subject": "Implement templates from DESIGN.md",
"description": "templ components: base layout, masthead (centered brand, meta line, desktop ribbon with topic dropdowns), mobile bottom nav + sections drawer, home (lead stack, Topics grid, Latest feed), subject index, article (header, hero plate, body, pull quote, field notes, save module, related, newsletter), site footer. Wire kontra.css design tokens.",
"status": "completed",
"activeForm": "Implementing templates",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933270,
"updatedAt": 1788851338939
},
{
"id": "4",
"subject": "Content model + loader (markdown + front-matter)",
"description": "Load .md content files with front-matter (title, author, date, tags, template, subject, image, excerpt, published, publish_at), subjects/_subject.yaml config, config/site.yaml, config/frontpage.yaml (template resolution page→subject→site→fallback). Goldmark rendering, {{media:...}} shortcode resolution.",
"status": "completed",
"activeForm": "Building content model",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933270,
"updatedAt": 1788851338940
},
{
"id": "5",
"subject": "Media: Garage S3 shortcodes + /media route",
"description": "Resolve {{media:...}} to Garage S3 URLs (bucket kontra-day on .13:3900), serve /media/* via Caddy. Shortcode defs: media, video (vimeo etc).",
"status": "completed",
"activeForm": "Wiring media shortcodes",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933270,
"updatedAt": 1788851426829
},
{
"id": "6",
"subject": "Admin: Decap CMS at admin.kontra",
"description": "Decap CMS (netlify-cms fork) config: collections for articles/subjects/pages, git backend to Gitea repo, media library pointing at Garage S3 (or local folder fallback). Serve at admin.kontra (subdomain).",
"status": "completed",
"activeForm": "Configuring Decap admin",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933270,
"updatedAt": 1788851471050
},
{
"id": "7",
"subject": "Deploy: Gitea repo + .13 systemd + timer",
"description": "Create Gitea repos (kontra content + maybe app), push, production clone at /var/www/kontra on .13, systemd service running the Go binary, 30s git pull timer, Caddy routes (kontra + admin.kontra) via .35 master proxy. Obsidian separate vault at /home/sam/obsidian/kontra/ = content repo.",
"status": "in_progress",
"activeForm": "Setting up deploy",
"metadata": {},
"blocks": [],
"blockedBy": [],
"createdAt": 1788848933270,
"updatedAt": 1788851471051
}
]
"tasks": []
}