[Nikola] Jupyter 埋め込みプラグインを改修した
2018-10-17

目次

警告

pathlib を使っているので Python 3.4 以上でないと動作しません。

Nikola では プラグインを導入することで Jupyter Notebook ファイルを記事中に埋め込めます。

公式では notebook_shortcode というプラグインを導入するとできるってことなんですが、 現在(2018/10) 対応しているのが v7 (最新は v8) なので微妙に書き換えないと動きません。

ほかにもいろいろ気になるところがあったので改修して GitHub に公開しました。 (righ/nikola-jupyter-shortcode)

変更点は以下。

  • version 8 でも動くようにした
  • shortcode名を notebook から jupyter にした
  • パスの起点がプロジェクトルートになっているため、記事と同じディレクトリから参照できるようにした。

導入方法 (Installation)

plugins ディレクトリに リポジトリをクローンしてリポジトリ内の requirements.txt をインストールするだけです。

  1. ブログディレクトリのトップに移動する
  2. git clone https://github.com/righ/nikola-jupyter-shortcode plugins/jupyter-shortcode
  3. pip install plugins/jupyter-shortcode/requirements.txt

備考

これはおそらくほとんどの Nikola プラグインについて言えることですが、 nikola plugin -i で導入されたプラグインは Git で管理されていない(.git がない)ので、 各自のリポジトリにコミットして管理していくという思想だと思います。

ブログ用の リポジトリで requirements.txt を置いている場合は、 -rplugins/jupyter-shortcode/requirements.txt のような行を追加します。

使い方 (Usage)

記事中に {{% jupyter 記事を置いたディレクトリを起点としたipynbファイルのパス %}} のように記述します。

ちなみに PCA の記事では {{% jupyter ./pca1.ipynb  %}} のように指定してます。

警告

はわざと全角にしていますが、実際に利用する際には 半角の % に変換してください。

コードブロック中でも shortcode は実行されちゃいます。

以上、気軽にスターください。 righ/nikola-jupyter-shortcode