mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2026-06-03 21:00:27 +00:00
52229040c6
- Rename main deployment job to 'deploy' (runs on all branches) - Keep 'pages' job for GitLab Pages (only runs on main branch) - Ghost-upload jobs now depend on 'deploy' instead of 'pages' - Fixes pipeline creation issues on feature branches
ghost-upload
This tool synchronizes posts from https://projects.ansonbiggs.com to the Ghost blog at https://notes.ansonbiggs.com.
Features
- Automatic sync: Only uploads new posts by default
- Content extraction: Fetches clean HTML content instead of using iframes
- AI summaries: Uses Kagi Summarizer for post summaries
- Force update: Manual trigger to update all existing posts
Usage
Normal Mode (Default)
cargo run
Only processes new posts that don't exist on the Ghost blog.
Force Update Mode
FORCE_UPDATE=true cargo run
Updates ALL posts, including existing ones. Useful for:
- Updating content after changes
- Refreshing summaries
- Applying new styling/formatting
CI/CD Integration
The GitLab CI pipeline includes:
- Automatic sync: Runs after each deployment
- Manual force update: Available as a manual trigger in GitLab UI
Environment Variables
admin_api_key: Ghost Admin API key (required)kagi_api_key: Kagi Summarizer API key (required)FORCE_UPDATE: Set to "true" to update all posts (optional)