- Updated blog version to 1.1.0 in package.json
- Built and pushed chorus-blog:v1.1.0 Docker image
- Updated docker-compose.swarm.yml to use new versioned image
- Deployed to production via Docker service update
- RSS feed now live at https://blog.chorus.services/rss.xml
- Scheduled publishing system active for future posts
Production Status:
✅ Blog running on chorus-blog:v1.1.0
✅ RSS feed accessible and generating proper XML
✅ Scheduled posts will auto-publish when dates arrive
✅ No downtime during deployment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created /rss.xml API route that generates valid RSS 2.0 XML
- RSS feed integrates with scheduled publishing system automatically
- Includes full post content, proper metadata, and CDATA encoding
- Added RSS feed link to HTML metadata for auto-discovery
- RSS link already exists in blog footer navigation
- 1-hour caching with error handling and fallback RSS
- Feed updates automatically when new posts go live
Features:
✅ Works with scheduled posts (future posts excluded)
✅ Proper XML escaping and CDATA content encoding
✅ Rich metadata including author, categories, publish dates
✅ Auto-discovery via HTML <link> tags
✅ Graceful error handling with fallback feed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Enhanced blog library to read from both posts/ and scheduled/ directories
- Added publishDate filtering with real-time checking (no cron jobs needed)
- Support for draft posts and recursive directory scanning
- Posts automatically appear when publishDate is reached
- Containerized solution that works without external scheduling
- Added publishDate field to blog types and updated existing scheduled post
Tested and verified:
✅ Past-dated posts appear automatically
✅ Future-dated posts remain hidden until publish time
✅ Draft posts are excluded regardless of date
✅ Maintains existing functionality for regular posts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Content and scheduled post directories will be managed separately
as Docker volume mounts for easier content management.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Next.js 14 blog application with theme support
- Docker containerization with volume bindings
- Traefik integration with Let's Encrypt SSL
- MDX support for blog posts
- Theme toggle with localStorage persistence
- Scheduled posts directory structure
- Brand guidelines compliance with CHORUS colors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>