- Add OptionalSessionMiddleware for non-required auth checks
- Add GetUserID helper function
- Update import paths in auth and main
- Update docker-compose with frontend build configuration
- Clean up go.mod and go.sum
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add owner-tools serving and injection for blog owners
- Inline code theme CSS in templates for soft reload support
- Update import paths from github.com/writekitapp to writekit
- Add optional session middleware for owner detection
- Update platform index with improved UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add codeblock.go for custom Goldmark renderer
- Add code block header with language icon, filename, copy button
- Use Chroma for syntax highlighting with class-based output
- Add GenerateChromaCSS for theme CSS generation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move internal/build/ to internal/tenant/
- Rename assets for clarity
- Add tenant-blog.js for shared blog functionality
- Update style.css with improved code block styling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change Cache-Control from s-maxage=31536000 to max-age=0,must-revalidate
for all HTML pages and sitemap (fixes stale content after settings change)
- Remove Cloudflare PurgeURLs call since we're not caching HTML at CDN
- Add Quicklink for client-side prefetching on public blog pages
- Make main branch deploy automatic (remove manual trigger)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use s-maxage=86400 for Cloudflare edge caching (24h) with max-age=0
so browsers always fetch from CDN. Combined with existing cache purge
on content changes, this minimizes origin server load while ensuring
fresh content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add build tag to studio/embed.go to exclude from test builds
- Create stub embed_testing.go for test builds
- Update CI pipeline to use -tags testing
- Add tests for webhook signature verification and status normalization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>