30 Commits

Author SHA1 Message Date
sam
8bcf604996 docs: link KONTRA-GUIDE.md from README 2026-09-10 16:22:56 +10:00
sam
9b068bc48e docs(guide): add KONTRA-GUIDE.md (editing/media/admin/ops); update archify+mermaid to git-files media (drop Garage) 2026-09-10 16:20:49 +10:00
sam
e578f1278f fix(loader): index.md article slug = folder name; skip subject-root index.md 2026-09-10 15:51:14 +10:00
sam
ad445742bc admin: match official Decap demo nested config — subfolders:false, depth:100, index_file:index 2026-09-10 15:48:38 +10:00
sam
6bf9f47780 admin: restore nested mode (with subject _index.md titles so tree shows named folders) 2026-09-10 15:34:43 +10:00
sam
70b88d7b02 admin: remove nested mode; flat folder: subjects lists all _index.md; subject indexes get title 2026-09-10 15:29:21 +10:00
sam
c5895e15ca media/loader: article slug from folder; _index.md loads as article; _ dirs ignored; slugs lowercased 2026-09-10 13:43:05 +10:00
sam
e220fa537e fix(admin): config.yml YAML — replace apostrophe-escaped label with clean double-quoted string (YAMLSemanticError) 2026-09-10 13:11:35 +10:00
sam
73513fb5e0 admin: Decap articles collection -> nested (depth 2) with meta.path for folder-per-article layout 2026-09-10 13:05:34 +10:00
sam
e646be3434 fix: body images constrained to container (max-width 100%); update decap config comment (media = git files, no Garage) 2026-09-10 12:43:07 +10:00
sam
12dac5abc1 tidy: content/ is its own repo (untrack from top); README media model = git files; no S3 2026-09-10 09:44:41 +10:00
sam
ba5500710c docs(DESIGN): add media model note (git files beside article; no S3); garage bucket+keys deleted 2026-09-10 09:43:52 +10:00
sam
804b37a9a3 docs: media model = git files beside articles (Garage S3 dropped); update README/PLAN/maps 2026-09-10 09:20:13 +10:00
sam
21bbe25ce2 media: resolve {{media:<slug>/<file>}} by searching article folders under subjects; traversal guarded 2026-09-10 09:17:32 +10:00
sam
ee80b58352 media: drop Garage S3/minio-go; images are git files beside articles; /media serves from content root (safe-path); loader recurses into article folders; remove admin upload page 2026-09-10 09:12:38 +10:00
sam
644ee9f292 fix(admin): upload stores object at bucket root so /media/{name} matches the redirected URL 2026-09-10 07:24:59 +10:00
sam
423901c80d feat(admin): /admin/media upload page — browser upload to Garage via minio-go, {{media:...}} snippet 2026-09-10 07:23:44 +10:00
sam
dd029c8819 fix: minio-go must sign with Garage region ('garage', not AWS us-east-1) 2026-09-10 07:18:37 +10:00
sam
5acddaa605 refactor(media): replace hand-rolled SigV4 with maintained minio-go SDK; add /admin/media/upload endpoint 2026-09-10 07:12:35 +10:00
sam
df4a19933c feat: /media proxy to Garage S3 via AWS SigV4 — images now serve publicly; remove debug 2026-09-09 18:25:34 +10:00
sam
5bec37a8a1 fix(sigv4): UTC strftime date format (%Y%m%d%H%M%S) 2026-09-09 17:32:21 +10:00
sam
f1fc99761f feat: /media route — app proxies Garage S3 bucket via AWS SigV4 (scoped read key) 2026-09-09 17:28:44 +10:00
sam
684bbed645 feat: front-matter image accepts {{media:...}} (S3 hero photos consistent with body) 2026-09-09 15:44:46 +10:00
sam
546f914789 fix: filter draft (published:false) out of subject index, ribbon dropdowns, and Topics boxes too 2026-09-09 14:21:26 +10:00
sam
d43c492501 feat: publish control — missing 'published:' defaults true; published:false hides article from all routes + listings; subjects date-sorted so Topics boxes/dropdowns show newest 2026-09-09 13:59:17 +10:00
sam
29ace856d7 docs: add OVERVIEW.md (what/use/tools/locations/handover) mirroring Obsidian Kontra Day page 2026-09-09 12:10:01 +10:00
sam
0876512f1c 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]
2026-09-09 11:49:52 +10:00
sam
2ec6a358c2 admin: fix Decap render (script in body, yaml MIME), Gitea OAuth backend + CORS, simple workflow 2026-09-09 07:42:03 +10:00
sam
9ca027c86f deploy: Docker compose + entrypoint (pull-loop autosync), Nix revert script, .env (gitignored) for Gitea deploy token 2026-09-09 07:21:44 +10:00
sam
31e9a708cc Kontra: GOTH app (Go+templ+htmx+Tailwind tokens), markdown content, Decap admin, media shortcodes. Phase 3 build complete + verified locally. 2026-09-08 17:11:21 +10:00