First Draft Feed
First Draft Feed
Description
First Draft Feed is a WordPress block that renders a single post’s revision history as a readable, chronological feed. Each revision is a “moment” — timestamped, with a visual diff showing what changed. Readers follow the evolution of thinking, not just the finished product.
Who is this for?
- Writers who work in public and want to expose how their thinking evolved.
- Readers who want to follow a post’s development over time like a story.
- Site owners who want to control which posts expose their drafts and how much history is visible.
How it works
Drop the First Draft Feed block onto any post or page. It renders a feed of that post’s revision history, pulled from a custom REST API endpoint that safely surfaces WordPress revision data without requiring authentication.
Each revision card shows:
- Timestamp — when the revision was saved
- Word count delta — e.g. “+ 312 words”
- Visual diff — additions and removals highlighted in context, rendered as clean text (no raw HTML diffs)
The feed loads oldest-to-newest so readers experience the post as it was written.
Features
- Per-post opt-in — revisions are only exposed when the author explicitly enables the feed
- Author notes — optional context shown at the top of the feed
- Three diff styles — inline, split, or summary view
- Image tracking — images in revisions are preserved and diffed alongside text
- Collapsible cards — readers expand only what interests them
- Max revision limit — cap how many revisions appear (1-50)
- Toggle individual elements — show or hide diffs, word counts, and timestamps
- Block supports — wide/full alignment, background/text color, spacing, and font size
Source Code
The files inside build/ are minified production output generated from the human-readable source in src/. The build pipeline uses @wordpress/scripts (webpack), declared in package.json.
The canonical, public source repository — including the unminified src/ files, build configuration, and full development history — is hosted at:
https://github.com/jnealey88/first-draft-feed
To rebuild the production assets from source:
npm install
npm run build
This regenerates everything in build/ from src/. Anyone reviewing, auditing, or forking the plugin can reproduce the distributed build with these two commands. See the README in the source repository for the full list of source files and development instructions.
Installation
- Upload the
first-draft-feedfolder to the/wp-content/plugins/directory. - Activate the plugin through the ‘Plugins’ menu in WordPress.
- Edit a post or page and insert the “First Draft Feed” block.
Faq
Insert the First Draft Feed block into your post, then toggle “Enable revision feed for this post” in the block sidebar settings.
No. The revision feed is strictly opt-in. Each post must be individually enabled by the author. No revision data is exposed until you explicitly turn it on.
Any public post type that supports revisions — posts, pages, and compatible custom post types.
No. The plugin strips all HTML from revision content and renders clean, readable text. Images are extracted and displayed separately.
Yes. The block uses standard WordPress block supports (alignment, color, spacing, typography) and works in both the block editor and classic themes with block support.
Reviews
Changelog
1.0.0
- Initial release.
- Revision feed block with per-post opt-in.
- Three diff styles: inline, split, and summary.
- Author notes, word count deltas, and timestamps.
- Image tracking across revisions.
- Custom REST API endpoint for public revision data.
- Support for all public post types with revisions.