結論を言うと、Liquidとしてエンコード、デコードが用意されていたので、わざわざ作成したデコード用のフィルターは使わずに済んだ。結局、2021/01/17の記事で、Qiitaにあげたと言っていた記事は削除した。代わりに、Jekyll対応マークダウン記法チートシート # エンコード、デコードの項目としてとてもあっさりまとめられた。別にいいさ。

道中、色々と気づきもあったので以下にまとめておく。

GitHub ActionsでCI/CDを実行できるようになるかも

かも、というかそのためのGitHub Actionsなのだが、テスト環境がないからローカルでビルドした結果とGitHub Pagesでビルドされた結果が違うとダルい、という話を前にした気がする。GitHub Actionsを使えばその問題が解決できるかもしれない。喫緊の課題ではないので後回しになるが。

ひとまずGitHub Actions | Jekyll • シンプルで、ブログのような、静的サイトに沿って最初の設定は終了している。

あとはGithub Actions - 基本概念と使い方 - Qiitaとかを見つつ、CI/CDもまともに設定したことがないので訓練がてら取り組む予定である。

Jekyllで自作フィルターを使うために

Jekyllで自作フィルターをGitHub Pagesで利用できるようにするには、Rubyファイルを_pluginsフォルダーに入れるだけではどうも無理そう。ローカルではそれで問題なかったが、単純にブログ用のルートディレクトリ以下全部をGitHubにあげてGitHub上でビルドしてもらう方式では、–safeオプションがかけられて例外認定されていないプラグインはすべて除外されてしまうらしい。あと、GitHub上ではフィルターとしてrbファイルを入れるだけでなく、Gemとして正式な自作プラグインとする必要がどうもありそう(この情報はなかったが、GitHub Pagesを使っている人でプラグインのGemとして作成している記事しかネット上にはなかった)。結局、自作フィルター(プラグイン)をもし使いたければ、

  1. Gemとして作成して、–safeオプションから逃れるためにGitHub Actionsを使う
  2. ローカルでビルドした静的ファイルをリポジトリのdocsディレクトリに出力して、それをPush

自分でGemを作成する場合、以下の情報が参考になりそう。GitHub Actionsの参考記事は上述している。

ローカルビルドの場合、jekyll-linkpreviewというJekyll pluginを書いた(がGitHub Pagesで使えなかったので使うために格闘した話) - ysk24ok.github.ioが参考になる。

まとめ

どんだけ回し道したのか知らないが、道中に拾い物もあったはずなので、差し引きゼロ、いや経験が得られたからプラス、のはずだ!バホホ。