mirror of
https://github.com/andwati/andwati.com.git
synced 2026-10-18 09:22:53 +00:00
Adds slug (uid) fields to all four content types so Strapi documents can be matched to files deterministically, plus: - apps/cms/src/utils/content-file.ts: read/write/delete the +++ TOML frontmatter files, using smol-toml's TomlDate so dates round-trip as bare local dates (matching the legacy Zola format), not quoted datetime strings. - apps/cms/src/utils/content-sync.ts: per-type frontmatter <-> Strapi field mappings, a boot-time importer that upserts every content/ file into Strapi by slug, and a Document Service middleware that writes any create/update/delete made through Strapi straight back to the same files. Strapi's SQLite DB is now genuinely a disposable cache: content/ stays buildable and readable with Strapi entirely absent, and restarting Strapi rebuilds its DB from content/ with no duplicates (matched by slug). Verified end-to-end: fresh boot imports all seed files once; a second boot re-imports idempotently (0 created, all matched by slug); create/ update/delete through the content-manager API all correctly write to and remove the corresponding file on disk.