mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2025-09-12 16:45:08 +00:00
25 lines
1.0 KiB
Markdown
25 lines
1.0 KiB
Markdown
# ghost-upload
|
|
|
|
This tool synchronizes posts from https://projects.ansonbiggs.com to the Ghost blog at https://notes.ansonbiggs.com.
|
|
|
|
## Features
|
|
|
|
- **Clean content extraction**: Uses Quarto ghost profile to generate clean HTML instead of iframes
|
|
- **Duplicate prevention**: Checks Ghost Admin API to avoid creating duplicate posts
|
|
- **AI summaries**: Uses Kagi Summarizer for post summaries
|
|
- **Dual content rendering**: GitLab CI builds both main site and ghost-optimized versions
|
|
|
|
## How It Works
|
|
|
|
1. **Dual Build Process**: GitLab CI builds the site twice:
|
|
- Main site → `public/` (normal theme with navigation)
|
|
- Ghost content → `public/ghost-content/` (minimal theme for content extraction)
|
|
|
|
2. **Content Extraction**: Rust tool fetches clean HTML from the ghost-content version instead of using iframes
|
|
|
|
3. **Duplicate Detection**: Uses Ghost Admin API to check for existing posts by slug
|
|
|
|
## Environment Variables
|
|
|
|
- `admin_api_key`: Ghost Admin API key (required)
|
|
- `kagi_api_key`: Kagi Summarizer API key (required) |