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 f6532e4fb6 Simplify CI dependencies - let all jobs run
- Remove complex optional dependencies
- Pages job runs on all branches for debugging
- Both publish and force-update jobs depend on pages normally
2025-08-21 23:35: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)