Pages CMS
A Git-backed browser editor for the Markdown content in this site — no database, no separate CMS runtime, and no content lock-in.
Why it earns a place
Why I use it
The site already stores Writing and Notes as Markdown in GitHub. Pages CMS gives that content a clean browser editor while keeping Git as the source of truth. The .pages.yml file in this repository defines exactly which collections and fields the editor exposes.
Use cases
Best for
- Editing Astro content collections without opening a code editor
- Keeping editorial changes reviewable as ordinary Git commits
- Publishing through the same Cloudflare deployment triggered by the repository
Start small
Quick start
- 01Sign in with GitHub
Open Pages CMS and authenticate with the GitHub account that can access this repository.
- 02Install the GitHub App
Grant Pages CMS access to this repository. The app reads the repository configuration and writes content changes back as Git commits.
- 03Let .pages.yml do the mapping
Pages CMS detects the root .pages.yml file. Writing maps to src/content/writing and Notes maps to src/content/notes, including the title, date, visibility, category, and Markdown body fields defined there.
- 04Publish by saving
Save an entry in Pages CMS. The commit lands in GitHub and the normal Cloudflare deployment publishes the updated static site.
Repeatable workflows
Things I come back for
Publish a new essay
Create a Writing entry without touching the filesystem.
- 1
Open Writing in Pages CMS.
- 2
Create an entry and fill the required title, description, date, category, and body.
- 3
Keep Draft on until the article is ready, then set visibility to Public and save.
Add a short almanack note
Use the lighter Notes collection for a small entry.
- 1
Open Notes.
- 2
Add an optional title and the note body.
- 3
Set the publication date and visibility, then save.
Change the editorial model
The CMS UI follows the repository instead of inventing its own schema.
- 1
Edit .pages.yml in the repository.
- 2
Mirror any schema change in src/content/config.ts.
- 3
Commit both files, then reload Pages CMS to see the updated fields.
Reference