{ "_doc": { "purpose": "Schema + starter for edition-config.json — the STATIC per-edition delivery metadata that render/build-linkedin.mjs reads (calendar, freshness, cover credit, captions). Complements edition-state.json (machine resumption state) and edition-delingstekst.md (distribution copy).", "decision": "G — production lives in the series root, NOT in the plugin. Copy this template to /linkedin/edition-config.json and fill it in. This file is the schema-defining TEMPLATE only.", "location": "/linkedin/edition-config.json (read relative to cwd = series root; OUT_ROOT = /linkedin)", "graceful": "render/build-linkedin.mjs loadEditionConfig() falls back to empty defaults if this file is missing or malformed — every field below is optional. Provide it for a complete delivery page (calendar slot, freshness banner, cover credit, alt-text caption).", "keys": "Article keys are zero-padded strings mirroring edition-state.json + the NN-prefix of each NN-utkast.md draft: \"01\", \"02\", ..., plus \"samle\" for the collected post.", "fields": { "calendar[NN]": "{ dag: human date label e.g. \"Mandag 02.06\", klokke: \"HH:MM\" } — the scheduled slot shown on POST.html. Default if absent: { dag: \"—\", klokke: \"08:00\" }.", "freshness[NN]": "string — a freshness/recency note rendered in the amber banner (e.g. \"Tall fra Q1 2026; sjekk før publisering etter 01.07\"). Omit for no banner.", "coverCredit": "string — global cover-image credit line (\"Add credit and caption\" field). One value for the whole edition.", "captions[NN]": "string — per-article cover-image caption / alt text. Default if absent: \"—\".", "carousel": "list of zero-padded NN strings (e.g. [\"03\",\"06\"]) — the editions that ship an optional carousel/document post. POST.html shows a carousel block only for these NN. Empty/absent → no carousel block. (S14/F6: replaces the old hardcoded Seres set.)" } }, "calendar": { "01": { "dag": "", "klokke": "08:00" }, "samle": { "dag": "", "klokke": "08:00" } }, "freshness": { "01": "" }, "coverCredit": "", "captions": { "01": "" }, "carousel": [] }