記事のお引越し

背景

  • これまでブログ(のようなもの)を行う際に、横着してgistを使用していた
  • VSCode上で文章を作成したあとにエディタからフィールドへコピー&ペーストしていた
  • いい加減にこの作業が面倒臭くなってきたのと、gist上でパッと直しローカルのテキストファイルに反映を忘れた場合に差分が発生してしまう問題が起きていた

欲求

  • コピー&ペーストをせず済むならそうしたい
  • ローカルとインターネットに公開されている文章に差分が発生していない状態であってほしい

条件

  • 静的サイトジェネレーターは面倒
  • Wordpressを維持するのも面倒
  • 好きなエディタを自由に使いたい
  • プレーンテキスト形式(マークダウン形式)で記事を記述したい

ソリューション

ついでにできるようになったこと

環境変数BLOGSYNC_USERNAMEBLOGSYNC_PASSWORDについて

blogsync/config.go at 5d82a9f9299e8a34e9215b7fc192e41344e87644 · x-motemen/blogsync

それぞれ設定ファイルのusernamepasswordに対応するっぽい。

おまけActions

リポジトリのsecretsのBLOGSYNC_PASSWORDにブログに投稿用のAPIキーを設定してください。
また、リポジトリのカレントディレクトリにはblogsync.yamlを配置してください。
blogsyncのREADME.mdを参照しながらいい感じ(要出典)に設定してください。

name: Push And Pull

on:
  push:
    branches:
      - main
jobs:
  push_and_pull:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          ref: main
      - name: Install blogsync
        uses: x-motemen/blogsync@v0
      - name: Get changed entryies
        id: get-changed-entryies
        uses: tj-actions/changed-files@v35
      # 記事をpushする
      - name: Push
        run: |
          for file in ${{ steps.get-changed-entryies.outputs.all_changed_files }}; do
            if [[ $file == entry/**/*.md ]]; then
              blogsync push $file
            fi
          done
        env:
          BLOGSYNC_PASSWORD: ${{ secrets.BLOGSYNC_PASSWORD }}
      - name: Pull
        run: |
          blogsync pull BLOG_DOMAIN_HERE
        env:
          BLOGSYNC_PASSWORD: ${{ secrets.BLOGSYNC_PASSWORD }}
      # 記事をpullする
      # 差分があればブランチを切って、コミットを作成する
      - name: Get current date
        env:
          TZ: 'Asia/Tokyo'
        id: get-current-date
        run: echo "current-date=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT
      - name: Auto Commit
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          branch: sync-${{ steps.get-current-date.outputs.current-date }}
          create_branch: true

テンプレートリポジトリは気が向いたら作ります。
今後ともお引き立てのほど、よろしくお願い申し上げます