Publish with Profit. Transform your Words into Wealth
Create a blog and newsletter to reach a global market and maximize your profits with ghost
Ghost doesn't have theme management features for you, just "gets" the theme you upload and runs accordingly.
No automatic updates, no licenses, no bug checks, and no availability nor maleware.
When users want to change theme edits, they usually have to download to their computer, unzip, edit, recompress and upload.
5 steps in total and a waste of time if you edit the theme regularly.
There is an extremely convenient way, which can be said to be perfect, not only helps to combine 5 steps into one but also bonus the 6th step is theme backup.
This article will show you how to use Github Action to save external themes, make external edits, and update external themes, without logging into Ghost Admin. All will automatically load into your Ghost.
Create Github Repo and Link Configuration Settings
First, you need a Github account to create a Github Repo (as a Folder) to house the theme. You should create a Private Repo instead of a Public one.
Next, you'll create a new Github Action. You name Github Action as you like, but I encourage you to use .theme-deploy.yml
Paste the code below to configure for .theme-deploy.yml
name: Theme Deploy
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: TryGhost/action-deploy-theme@v1.6.3
with:
api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
Next, you create a Secret for the Github Repo to link to Ghost. Go to Settings > Secrects > New repository secret
There are 2 Secrets you need to add:
GHOST_ADMIN_API_KEY
GHOST_ADMIN_API_URL
To have an Admin API, you must create a new Integration in Ghost. Go to Ghost Admin > Integration > Add New
Once you're done, upload your theme using the folder upload (extract your theme to a folder and upload it to that folder from your computer).
Clap