Commit Graph

19 Commits

Author SHA1 Message Date
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
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
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
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