I updated my Ghost blog social media syncing scripts

With Python and some API keys you can do a lot.

I updated my Ghost blog social media syncing scripts

I wrote an app a while ago that would auto-publish the posts from my Ghost blog to either Twitter or Mastodon. I recently went back in and updated the scripts to include a push Warpcast and a fix for the Twitter script.

If you have any questions, feel free to reach out on Warpcast, or Twitter.

Have fun.


You can see the code here:

GitHub - BitsofJeremy/ghost_blog_sync
Contribute to BitsofJeremy/ghost_blog_sync development by creating an account on GitHub.

From the README

This is a little app that will grab blog posts from my Ghost blog and then post them to social media via APIs

Social Media Supported

  •  Warpcast ✅
  •  Twitter ✅
  •  Mastodon ✅
  • BlueSky (?? not sure if this is possible ??)
  • Threads (?? not sure if this is possible ??)
  • LinkedIn (?? Do I bother ??)

The Setup

You will need API keys from your Ghost blog,and social media accounts

API Key authentication setup:

  • Copy env-example to .env
  • Read the .env file as it point to where to get the keys
  • Edit it for your setup
  • Source it source .env

Python setup:

  • Clone the repo: git clone https://github.com/BitsofJeremy/ghost_blog_sync.git
  • Change into the directory: cd ghost_blog_sync
  • Create a virtual environment: virtualenv -p python3 venv
  • Source it: source venv/bin/activate
  • Install requirements: pip install -r requirements.txt

Run it:

  • Create a minimal database: python db_models.py
  • Run the sync: python blog_sync.py

Extras

Just want to Tweet?

python twit_it.py --send "Test from Python"

Just want to Toot?

python toot_it.py --send "Test from Python"

Just want to Cast?

python cast_it.py --send "Test from Python"

Want to set all your blog posts in Ghost set to member only, or fully public?

note: currently set to public, change visibility to member

python update_posts.py