feat: generate HTML redirects for aliases

Add generate_aliases(), write_aliases(), and
redirect_html() to main.rs. For each content item
with aliases in frontmatter, writes a minimal HTML
redirect stub with meta refresh and canonical link.

Alias paths are normalized: bare paths get
/index.html appended, .html extensions preserved.

Add 2 tests. Test suite: 76 → 78, all passing.
Phase 2 complete — all plan items checked off.
This commit is contained in:
Timothy DeHerrera
2026-02-14 07:24:57 -07:00
parent 7e692aacb4
commit 53463b3d8b
2 changed files with 120 additions and 2 deletions

View File

@@ -121,9 +121,9 @@ Items validated by codebase investigation:
- [x] Filter drafts from nav discovery (`discover_nav()`)
- [x] Filter drafts from sitemap entries
- [x] Filter drafts from feed entries
- [ ] Generate HTML redirect stubs for each alias path (`<meta http-equiv="refresh">`)
- [x] Generate HTML redirect stubs for each alias path (`<meta http-equiv="refresh">`)
- [x] Add tests: draft filtering (excluded from listing, nav, feed, sitemap)
- [ ] Add tests: alias redirect generation (valid HTML, correct target URL)
- [x] Add tests: alias redirect generation (valid HTML, correct target URL)
3. **Phase 3: 404 & Tag Pages** — new content generation features
- [ ] Detect `content/404.md` in content discovery, treat as special page