このブログを更新していくテンションを上げるためによさげな有料テーマを導入しました。
もともとコードではなく記事を書くことに集中したいがためにフルマネージドのGhostを選択したのですが、運営しているとどうしてもCode Injectionだけでは対応できない部分にも手を加える必要が出てきます。今回の場合だと項目の日本語のローカライズであったり、トップページの著者一覧セクションが不要だったり。
ということでカスタムテーマを作成していくわけですが、GhostはWordPressと違って子テーマ的な機能がありません。これはShopifyなんかも同じで、子テーマ機能は結局親テーマが後方互換を考えなければならなかったりと開発速度を落としてしまったりとか色々問題があるからなんでしょう。というわけで改造テーマはGitで管理していきます。
Gitで管理するならば、リポジトリにプッシュした段階で自動でデプロイまでやってくれると楽ちんです。Ghostは公式でGithub Actionsのガイドを公開しているのでこれに従えば簡単でした。
Ghostの管理画面からCustom Integrationを作成してAdmin API keyとAPI URLを入手。
Githubの方でSettings → Secrets and variables → Actionsで、GHOST_ADMIN_API_URL
と GHOST_ADMIN_API_KEY
に値を設定。
リポジトリに公式のワークフローのYAMLを設置してプッシュ。
name: Deploy Theme
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Deploy Ghost Theme
uses: TryGhost/action-deploy-theme@v1
with:
api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
あとはプッシュすると自動でDeployされます。
便利。
ディスカッション