Commit graph

16 commits

Author SHA1 Message Date
Josh
ac04d7f346 chore(deps): update auth middleware and dependencies
- 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>
2026-01-12 02:06:20 +02:00
Josh
119e3b7a6d feat(server): add owner-tools injection and inline code theme CSS
- 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>
2026-01-12 02:06:20 +02:00
Josh
771ff7615a feat(markdown): add enhanced code blocks with syntax highlighting
- 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>
2026-01-12 02:06:20 +02:00
Josh
6e2959f619 refactor: move tenant templates to internal/tenant
- 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>
2026-01-12 02:06:19 +02:00
Josh
bef5dd4437 refactor: move studio to frontends workspace
- Move studio from root to frontends/studio/
- Add owner-tools frontend for live blog admin UI
- Add shared ui component library
- Set up npm workspaces for frontends
- Add enhanced code block extension for editor

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 02:06:19 +02:00
Josh
c662e41b97 Disable CDN caching for HTML, add Quicklink prefetching
All checks were successful
ci/woodpecker/push/build Pipeline was successful
- 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>
2026-01-09 22:02:47 +02:00
Josh
5329167c8c Merge dev into main
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2026-01-09 04:24:15 +02:00
Josh
0a7d413014 perf: optimize cache headers for CDN-first caching
All checks were successful
ci/woodpecker/push/build Pipeline was successful
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>
2026-01-09 04:24:07 +02:00
Josh
a6e1069e45 perf: optimize cache headers for CDN-first caching
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>
2026-01-09 04:23:12 +02:00
Josh
b56757770d perf: cache Go modules between CI runs
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 03:08:16 +02:00
Josh
4b0cdc4f69 fix: source .env before docker compose, make prod deploy manual
Some checks failed
ci/woodpecker/push/build Pipeline failed
- Source .env file before docker compose to load REGISTRY_URL
- Add event: manual to deploy-prod (requires manual trigger in Woodpecker)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 02:56:52 +02:00
Josh
af47927fce fix: update Dockerfile to Go 1.24
Some checks failed
ci/woodpecker/push/build Pipeline failed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 02:49:21 +02:00
Josh
b2b2a42ca9 fix: enable CI tests with build tags and add billing tests
Some checks failed
ci/woodpecker/push/build Pipeline failed
- 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>
2026-01-09 02:44:49 +02:00
Josh
cb4bebb42c refactor: move pipeline to .woodpecker/ directory
Some checks failed
ci/woodpecker/push/build Pipeline failed
Use Woodpecker's default directory-based pipeline discovery.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 02:26:29 +02:00
Josh
0cf1307b08 fix: use map syntax for environment in woodpecker pipeline
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 01:07:40 +02:00
Josh
d69342b2e9 init 2026-01-09 00:16:46 +02:00