import matplotlib.pyplot as plt
x = range(1, 11)
y = [v * 2 for v in x]
plt.bar(x, y)
plt.show()
August 2, 2026
この CMS の実行環境には、marimo という Python の「リアクティブノートブック」も同梱しています。
marimo は、Python コードをセル単位で実行し、変数の依存関係を自動追跡するオープンソースのノートブックです。
.ipynb(Jupyter)と違い、実行順の不整合が起きにくい.py 形式で保存できるQuarto は marimo ノートブックをそのままレンダリングできます。
| やり方 | コマンド |
|---|---|
| 手元でインタラクティブに書く | marimo edit notebook.py |
| ノートブックを HTML に変換 | quarto render notebook.py |
ノートブックを .qmd に変換 |
quarto convert notebook.py |
つまり「marimo で試行錯誤してから、Quarto の記事に展開する」という流れが自然です。
このリポジトリの requirements.txt には marimo が含まれているので、npm run generate の前に依存を入れれば使えます。
macOS でシステム Python に直接入れると PEP 668 の制限に当たるので、必ず venv(仮想環境)を使いましょう。
marimo で書いたロジックを記事に載せる場合、2つの選択肢があります。
.qmd に Python ブロックとして書く(推奨)quarto render notebook.py でノートブックを HTML にでき、quarto convert で .qmd に変換もできます。
.qmd の Python ブロックとして実行されます)marimo edit で作業可能.qmd)という役割分担がおすすめ