Files
zeekayandHanzo Dev 9a37a6482b feat(journal): add /journal editorial page + sync approved library to the site
Completes the studio→CMS→site content loop for the Signature relaunch.

- scripts/sync-journal.py: the editorial twin of sync-library.py. Reads the ONE
  canonical library (s3://hanzo-studio/orgs/karma/output/library.json), takes
  queued/published blog+campaign .md posts, writes site/journal/*.md +
  site/journal.json, mapping each post's hero to the webp the catalog serves.
- site/journal.js + app.js `/journal` route + nav "Journal": a minimal monochrome
  journal (list + post, tiny trusted md→html). Renders the 3 queued posts
  (Valentina, in Velvet · The Case for One Colour · Signature launch brief).
- site/img/redonepiece/{front,back}.webp: refreshed from the approved library
  (the CTO 2026-07-09 tonal-red PICK) via sync-library.py.
- asset ?v 049→050 so the corrected images + journal surface immediately.

Copy authored on-brand (white high-fashion, monochrome, tight editorial) and
queued via karma-queue.py; mirrored to S3 via the studio PVC.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-10 14:43:56 -07:00

35 lines
1.1 KiB
JSON

{
"posts": [
{
"file": "journal/ss26_launch_brief.md",
"slug": "signature",
"design": null,
"channel": "campaign",
"title": "Signature — Launch Brief",
"teaser": "Signature: two suits, one point of view. Valentina in crushed velvet, the Scarlet One-Piece in matte red. Now at karma.style.",
"hero": null,
"status": "queued"
},
{
"file": "journal/redonepiece_journal.md",
"slug": "redonepiece",
"design": "redonepiece",
"channel": "blog",
"title": "The Case for One Colour",
"teaser": "A clean scarlet maillot with a sculpted open back. Seamless, sun-ready, made to photograph.",
"hero": "/img/redonepiece/front.webp",
"status": "queued"
},
{
"file": "journal/valentina_journal.md",
"slug": "valentina",
"design": "valentina",
"channel": "blog",
"title": "Valentina, in Velvet",
"teaser": "Deep-wine crushed velvet, gold open-heart hardware, a full thigh-wrap garter. The story of our most-requested set.",
"hero": "/img/valentina/life1.webp",
"status": "queued"
}
]
}