Merge pull request #8 from fullsizemalt/claude/blog-mvp-2025-11-17
Proposal: Blog MVP (Internal + Substack cross-post)
This commit is contained in:
commit
da0c1e2078
2 changed files with 38 additions and 1 deletions
37
openspec/changes/2025-11-17-blog-mvp/proposal.md
Normal file
37
openspec/changes/2025-11-17-blog-mvp/proposal.md
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Proposal: Blog MVP (Internal + Substack Cross‑Posting)
|
||||||
|
|
||||||
|
Status: draft
|
||||||
|
Authors: Content Team
|
||||||
|
Owners: Content Lead, Web Lead
|
||||||
|
Created: 2025-11-17
|
||||||
|
Scope: spec
|
||||||
|
Related: openspec/specs/feature-blog.md
|
||||||
|
|
||||||
|
Summary
|
||||||
|
- Build a native blog with editor, tags, scheduling, members‑only posts, RSS/Atom, and optional Substack cross‑posting with canonical link sync.
|
||||||
|
|
||||||
|
Motivation
|
||||||
|
- Provide an accessible, SEO‑friendly blog with members‑only capability while leveraging Substack reach when desired.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
- Accessibility: accessible editor UI, semantic output, keyboard/focus, reduced motion.
|
||||||
|
- SEO: canonical URLs, Open Graph/Twitter cards, sitemaps, RSS/Atom.
|
||||||
|
- Cross‑post: publish to Substack, sync canonical link/excerpt; import back if edited.
|
||||||
|
|
||||||
|
API
|
||||||
|
- Posts CRUD; media; tags; cross‑post webhooks.
|
||||||
|
|
||||||
|
Test Plan
|
||||||
|
- Axe checks on output; server‑side rendering tests; cross‑post integration tests.
|
||||||
|
|
||||||
|
Rollout
|
||||||
|
- Feature flag; migrate selected posts from Wix; redirects.
|
||||||
|
|
||||||
|
Acceptance Criteria
|
||||||
|
- Editor accessibility verified; SEO outputs validated; cross‑post round‑trip confirmed.
|
||||||
|
|
||||||
|
Slash Commands
|
||||||
|
- `/review areas=web,accessibility,security`
|
||||||
|
- `/apply spec=openspec/specs/feature-blog.md`
|
||||||
|
- `/archive link=<PR>`
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Feature: Blog (Internal + Substack Cross‑Posting)
|
# Feature: Blog (Internal + Substack Cross‑Posting)
|
||||||
|
|
||||||
Status: draft
|
Status: approved
|
||||||
Owners: Content
|
Owners: Content
|
||||||
|
|
||||||
Summary
|
Summary
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue