Prompt

Jupyter Bookて何?
ついでにMkDocsも併せて

Jupyter Book と MkDocs 、どちらも「Markdown から綺麗なWebサイトを作るツール(静的サイトジェネレーター)」だけど、その 「守備範囲」 が全然違うんだ。

一言で言うと、「研究・分析の記録」なら Jupyter Book「ソフトウェアの説明書」なら MkDocs というのが現代の王道だよ!


1. Jupyter Book:計算と出版の融合

Jupyter Book は、その名の通り Jupyter Notebook(.ipynb) をそのまま「本」のような形式のWebサイトやPDFに変換するためのツールだよ。

  • 最大の特徴: 「コードの実行結果」 をそのままドキュメントに含められること。

  • 実行可能: 読者がその場でコードを実行できるインタラクティブなボタン(Binder連携など)を設置できる。

  • 数式に強い: LaTeX を駆使した複雑な数式も綺麗にレンダリングしてくれる。

  • MyST Markdown: 通常の Markdown を拡張した「MyST」という記法を採用していて、図表の参照や引用などが非常に強力。

主な用途:

データサイエンスのレポート、科学技術計算のドキュメント、大学の講義資料、技術解説書など。


2. MkDocs:シンプルで高速なドキュメント作成

MkDocs は、Python 製の非常に軽量な静的サイトジェネレーターで、ソフトウェアの公式ドキュメントを作るのに特化しているよ。

  • 最大の特徴: 「爆速」と「手軽さ」。設定ファイル(mkdocs.yml)ひとつで、検索機能付きのサイトがすぐに作れる。

  • Material for MkDocs: この「テーマ」が神がかっていて、これを使うだけで Google のマテリアルデザイン風の、超絶オシャレで使いやすいドキュメントサイトが完成するんだ。

  • ライブプレビュー: 編集すると即座にブラウザに反映されるから、執筆体験がすごくいい。

主な用途:

オープンソースプロジェクトのドキュメント、社内Wiki、個人の技術メモ、APIリファレンスなど。


3. どっちを選べばいい?(比較表)

君が今、何かを作ろうとしているなら、この基準で選ぶと失敗しないよ。

比較項目Jupyter BookMkDocs
メインの入力Jupyter Notebook (.ipynb), MarkdownMarkdown (.md)
コードの実行できる(出力結果を表示・保持)できない(コードブロックを表示するだけ)
得意分野データ分析・科学計算・教育ソフトウェアマニュアル・技術メモ
デザイン性「本・論文」らしい重厚な感じ「モダンなWebサイト」らしい軽快な感じ
数式 (LaTeX)標準で最強クラスプラグインで対応可能

豆知識:君の「Garden」との相性

君は今、Obsidian と Quartz を使ってデジタルガーデン(garden.asappy.xyz)を運用しているよね。

  • MkDocs は Quartz に近い性質を持っている(Markdown ファイルを綺麗に並べる)から、乗り換えや併用は直感的だと思う。

  • もし今後、「Rust の計算結果をグラフにして、そのプロセスを論文のように公開したい」 と思ったら、Jupyter Book の出番だね。Rust なら evcxr などの Jupyter カーネルを使えば、Jupyter Book で Rust の実行結果を載せることも可能だよ!


今進めているプロジェクトの中で、「プログラムの実行ログやグラフをそのままドキュメントとして残したい」 というニーズはあるかな?もしあれば、Jupyter Book の具体的なセットアップ方法を教えるよ!

それとも、「MkDocs で爆速で技術ブログを作ってみたい」 と思う?