Notes / 27 Aug 2026
Drafts, then live: the publishing path
Save never ships. Publish copies the draft, ticks the revision, and asks Cloudflare to rebuild.
cms · cloudflare
A page or post has two markdown fields: draftMarkdown and publishedMarkdown. Saving never touches the live site. Publishing copies the draft over, bumps publishedRevision, and queues a debounced rebuild (45 seconds, so a burst of publishes is one Cloudflare build).
If CLOUDFLARE_DEPLOY_HOOK_URL is empty, the rebuild is skipped and the revision still changes. That is enough for local development: the update banner appears, you reload, and SvelteKit load functions fetch the new published documents from Convex.
In production, keep the hook. Static HTML on Workers is what makes the free tier viable. Do not subscribe every visitor to full page documents.