ハローワールド

木 22 3月 2018

ブログを移転した

これまでは約二年ほど はてブロに, メモや学習ログなどを投稿し, 利用させて頂いていたが, \({\rm\LaTeX}\) の記述においてはてブロ固有の独特な記法を必要とされることがあり, これらの点で 少し不便に感じていたので, 新たにブログを立ち上げこちらに移転することとした. このブログは github pages でホスティングされており, Pelican という Static site generator によって成り立っている. またテーマは, nikhil-themeフォークして利用させて頂いている.

移転で行った作業

流れとしては, 通常通り, pip で Pelican を導入し, pelican-quickstart によって必要なディレクトリ階層と, 最低限のファイル構成を得て, そこから諸々の設定を行った. Pelican + github pages でブログを管理する事例はとても多く, またドキュメントも充実しており, 特別困ることはなかったが, いくつかテーマの修正, 機能追加などを行った. 本ブログ構造や管理に関する変更の記録は, 本エントリにて随時更新している.

  • ローカルマシンでのサイト生成をやめ, 特定ブランチへのプッシュをトリガーに Bitbucket Pipeline によってサイト生成, デプロイを行うこととした.

構造

フォークしたテーマと pelican-plugins をマスターブランチのサブモジュールとして置いた. マスターブランチには, ブログ記事の下書きなども貯めようと思っていたため, 特別これを公開する意味はない. そこで, マスターブランチは private リポジトリとして bitbucket に, gh-pages ブランチは github にホスティングして頂くこととした2.

  • master (非公開なのでここに貼っても特別意味はないが)
  • gh-pages

gh-pages への反映は, ghp-import を利用している. 記事を公開しようとするたびに毎度ブランチをチェックアウトするのは面倒なので, Makefile にコマンドを書いておき, そのコマンド一発で記事の生成と gh-pages へのプッシュを行えるようにした. また, bitbucket には標準搭載の CI (bitbucket Pipelines) があるので, master ブランチへのプッシュをトリガーに, 自動で記事の生成テストを行うようにしている.


  1. おそらく #349 の問題も, この関係なのではないかと思われる. 

  2. 2019/1/7, The GitHub Blog でアナウンスされた通り, マイクロソフトに買収された GitHub はプライベートリポジトリの機能を一般ユーザへ無償で公開した. 従って, プライベートリポジトリの機能を使うために, GitHub 以外のサービスを用いるということの必然性はなくなったわけであるが, なんとなくベンダーロックインしてしまうことに抵抗があるので, この構成で運用を続けていく予定.