参考
メモ
HexoでPandasレンダラーを使うために最新版PandocをインストールしたDockerイメージを用意
ドキュメント等では、circleciのDockerイメージを使うことが記載されているが、 ここでは予め最新版Pandocをインストールしておきたかったので、circleciのDockerイメージをベースにしつつ、 インストーラをwget、dpkgでインストールしたDockerイメージを自作して利用した。
Dockerfileは以下の通り。
1 | FROM circleci/node:8.10.0 |
今回は、これを使って作ったDockerイメージを、予めDocker
Hubに登録しておく。 ここでは hoge/fuga:1.0
と登録したものとする。
HexoをCircleCIでビルドするための設定ファイルの作成
上記で作ったDockerイメージを使う、以下のようなCircleCi設定ファイルを作り、
Hexoプロジェクトのトップディレクトリ以下
.circleci/config.yml に保存する。
1 | defaults: &defaults |
上記 config.yml
は、今後の拡張性を踏まえて記載してあるので、やや冗長な表現になっている。
なお、
1 | - run: sed -i -e "s#http://cdn.mathjax.org/mathjax#https://cdn.mathjax.org/mathjax#" node_modules/hexo-renderer-mathjax/mathjax.html |
としている箇所があるが、これは現在の
hexo-renderer-mathjax
をインストールすると、httpsではなくhttpを使用するようになっており、
結果としてgithub.ioでサイト公開するとmathjax部分が意図通りに表示されないからである。
HexoのレンダリングエンジンとしてPandocを使う
にもその旨説明がある。 mathjax.html
を見る限り、GitHub上のmasterブランチでは修正済みのようだ。
CircleCI上でプロジェクトを作る
GitHubアカウントを連携している場合、既存のレポジトリが見えるので、 プロジェクトを作成する。
GitHubへのPush用のSSH鍵を登録する
LaTeXファイルをGithubにpushしたらCircle CIでPDF生成するようにした あたりを参考に、SSH鍵の登録を実施。 プロジェクトの設定から、「Checkout SSH keys」を開き、「Add user key」から鍵を生成→登録した。
GitHub側のアカウント設定から鍵が登録されたことが確認できる。
以上で手順終了。 ブログを追記して、プロジェクトにpushするとCircleCIがhexo generateし、hexo deployするようになる。