Jupyter Bookで出力させてみた

Share on:

Jupyter BookでHTML出力させるには、コンテンツをipynbやmdで用意して、こんな感じ_config.yml, _toc.yml を編集。その後コマンドラインで jupyter-book build 対象ディレクトリ で指定すると、その中に _build ディレクトリ作成して静的HTML出力される。

お試しで出力したもの

導入編をipynbとmdの両方で用意して見比べてみると、基本的にはどちらも一緒。GitHub登録しておくとそっちからオリジナルファイルを直接ダウンロードできるし、viewもちゃんと整形されてる。複数ページまとめて検索できるのは地味に便利。ただし該当箇所には飛ばずハイライト表示するだけか。そのことを踏まえると1ページあたりの分量は小さく作ったほうが良いのかもしれない。パラパラになりすぎると前後関係読みづらくなるから避けたいのだけど。Full screen は Safari 14.0 だと機能しないな。Firefox/Chromeは大丈夫。これまでもipynbで授業資料を用意しておくことはやってるのだけど、静的HTML変換しておくと参照が早いのは良いね。bibtexにも対応できるっぽい。

ipynbだと実行可能なコードがあると判断して、(_config.ymlで指定していれば)Binder/Colabあたりへのリンクを自動付与してくれるらしい。それ以外は一緒ですね。ということでMarkdownメインのコンテンツならmdで書く方が楽で良いな。

ipynbでもmbでもやや手間になるのが MyST Markdown 形式で書いた場合のビュー確認。基本的にはHTML生成しないと確認できないはず。

ちなみに_config.ymlのデフォルト設定はconfiguration defaults。GitHubのURL設定するだけだとBinderへの移行時に master branch を探してしまってエラーが出るので、main branch 指定しよう。GitHub Pagesとの連携で自動更新させることもできるらしい。そっちが楽な気もするけどひとまず知能情報コース側に置くことに。rsyncするだけなら手間かからないし。

_toc.ymlはTOC structuresあたりから探ると良さげ。_toc.ymlのインデントは2スペースじゃないとエラー になります。configは4スペースでも大丈夫なのに。