1
0
mirror of https://gitlab.com/Anson-Projects/projects.git synced 2025-09-14 09:35:04 +00:00
Files
Projects/ghost-upload
Anson 788052233a Fix CI/CD job dependencies and YAML syntax
- Make deploy job dependency optional in ghost-upload jobs
- Change preview job to depend on staging instead of deploy
- Ensures pipeline works on feature branches without deploy job
2025-08-21 23:41:48 -06:00
..

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)