一直到最近我才知道怎么使用Github Action更新主题,难怪为什么这么多Ghost主题选择在Github发布。

首先创建GitHub账号,然后找到自己心仪的主题,在这里的示范我就使用Alto 示范。

本次教程使用的是GitHub action,然后透过ghost admin api实现主题更新。

步骤

克隆GitHub主题仓库

我们只需使用 Fork 将将主题仓库代码克隆到自己的代码仓库中,接着就克隆到你的仓库 E.g. ever-blogger/Alto

新增 deploy theme.yml

在仓库中新增 .github/workflows/deploy-theme.yml ,加入下方代码。(Alto已经有相应的文件,如果主题已有相应文件可以省略)

name: Deploy Theme
on:
  push:
    branches:
      - master
      - main
jobs:
  deploy:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/[email protected]
      - name: Deploy Ghost Theme
        uses: TryGhost/[email protected]
        with:
          api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
          api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
Action Deply Theme

加入 GHOST_ADMIN_API_KEY以及 GHOST_ADMIN_API_URL

接着到Ghost后台中的Integrations获取Admin API key 及 API URL,将之复制下来,再到主题仓库中Settings > Secrets新增New respositary secrets分别创建 GHOST_ADMIN_API_KEY以及 GHOST_ADMIN_API_URL 之前复制下来的Admin API key 以及 API URL 粘贴到相应的Secret中。(另外千万别分享API key,已经删除这个Integrations)

Integrations

触发 GitHub actions

最后到Actions同意I understand my workflows, go ahead and enable them , 为了触发GitHub actions,我将 .github/workflows/test.yml  给删除,接着就能再主题中看到新增的Alto主题。

总结

GitHub actions让Ghost主题部署更加方便,原作者更新主题,也会随之更新也会触发GitHub actions更新Ghost主题。

参考:Deploying a Ghost theme with GitHub actions