better cache

This commit is contained in:
2026-02-10 01:20:58 -05:00
parent c773affbc8
commit f056e67eae
39 changed files with 830 additions and 17 deletions

View File

@@ -0,0 +1,30 @@
## Why
Add a blog section so the site can publish indexable textual content (in addition to videos/podcast), improving SEO and giving visitors another reason to return and engage.
## What Changes
- Add a new primary navigation link in the header: **Blog** (between **Podcast** and **About**).
- Add a blog index route that lists WordPress posts as cards (featured image, title, excerpt/summary).
- Add blog detail routes so a user can read the full content of a post.
- Add a secondary navigation within the blog section driven by WordPress categories (exact structure negotiable).
- Support rendering both WordPress **posts** and **pages** within the blog section.
- Add configuration via environment variables for WordPress site URL and credentials, and fetch content via the WordPress `wp-json` REST APIs.
- (Optional / later) Like and share feature for blog content.
## Capabilities
### New Capabilities
- `wordpress-content-source`: Fetch posts, pages, and categories from a configured WordPress site via `wp-json`, and provide them in a form the site can render (including featured images and excerpts).
- `blog-section-surface`: Provide blog routes (index, category views, content detail pages) and a secondary navigation for blog browsing.
### Modified Capabilities
- `seo-content-surface`: Include the blog routes in the indexable surface (e.g., sitemap coverage and crawlable HTML for `/blog` and blog detail pages).
## Impact
- Site UI/layout: header navigation update; new blog pages; secondary blog navigation.
- Content pipeline: extend the content fetching/caching flow to include WordPress content; update any normalized schemas/types as needed.
- Configuration: add WordPress settings to environment/config and ensure they are supported in local dev and Docker.
- SEO: ensure blog pages have correct titles, descriptions/excerpts, canonical URLs, and appear in `sitemap.xml`.