他のツールの利用可能性
「GitHub Issues / Discussions を CMS にして、Actions で Markdown を生成し、静的サイトを公開する」という構成は、Astro / Quarto 以外のツールにもほぼそのまま流用できます。ここでは主な代替ツールと、Quarto と比べたときの向き不向きを整理します。
この CMS の構成(共通の骨格)
Issue / Discussion を書く
→ 公開ラベルの記事を取得して Markdown(.md / .qmd) を生成
→ 静的サイトジェネレーターで HTML 化
→ GitHub Pages にデプロイ
この骨格はどのツールでも同じです。変わるのは「変換先のファイル形式」と「レンダリングエンジン」だけです。
静的サイトジェネレーター系
| ツール | 言語 | 特徴 | この CMS との相性 |
|---|---|---|---|
| Hugo | Go | 超高速ビルド・テーマ豊富 | ◎ 記事量が多いブログ向き。テーマ設定が独特 |
| Eleventy (11ty) | JS | 軽量・シンプル・自由度高 | ◎ 素の HTML/MD で柔軟。学習コスト小 |
| Next.js | JS/TS | React ベース・動的機能が強力 | ○ ブログとしては重厚。SSG も可 |
| SvelteKit | JS/TS | Svelte で軽量・DX 良好 | ○ フロントエンド寄りなら有力 |
| Docusaurus | React | ドキュメントサイト特化・MDX | ○ マニュアル/技術文書向き |
文書・計算系
| ツール | 言語 | 特徴 | この CMS との相性 |
|---|---|---|---|
| R Markdown / bookdown | R | Quarto の前身。R 一体 | ○ 歴史は長いが Quarto が後継 |
| Jupyter Book | Python | Jupyter ノートブックを書籍化 | ○ Python 記事なら有力 |
| MyST | Markdown | 学術向け(Sphinx/Jupyter 互換) | ○ 論文・引用が充実 |
| mdBook | Rust | Rust ドキュメント・軽量 | ○ シンプルな本なら |
Quarto と比べた評価軸
1. コード実行の埋め込み
- Quarto が最強:
{python}/{r}を書けば実行して図を自動埋め込み - 同程度: R Markdown / Jupyter Book / MyST
- できない: Hugo / Eleventy / Next.js / SvelteKit / Docusaurus / mdBook(プラグインで外部連携は可能)
2. ビルド速度
- 最速: Hugo(Go 製で巨大サイトでも速い)
- 次点: Eleventy / mdBook
- 遅め: Quarto(コード実行があると特に)。
freeze: autoで緩和
3. 出力形式の多様さ
- Quarto / R Markdown: HTML だけでなく PDF / Word / スライド / 書籍
- それ以外: ほぼ HTML のみ(Pandoc を挟めば可能だが手間)
4. 検索・SEO の手軽さ
- Quarto / Docusaurus / Hugo: 標準機能 or 簡単に組み込み
- Eleventy / Next.js: プラグイン・自作が必要
なぜこの CMS は Quarto なのか
この CMS(issues-quarto-cms)が Quarto を選んだ理由:
- コード実行 + 結果埋め込みが記事になる(本サイトの記事がそのまま実例)
- 検索・sitemap・RSS が設定だけで動く
- 多形式出力への拡張余地(同じ原稿を PDF にできる)
- GitHub Actions +
quarto renderが公式の設定アクションで簡単に組み込める
逆に「別のツールのほうが良い」ケース
| 状況 | おすすめ |
|---|---|
| 記事が数千件以上でビルドが重い | Hugo |
| React の動的コンポーネントを記事に埋め込みたい | Next.js / Astro / Docusaurus |
| Rust のプロジェクトのマニュアルを作りたい | mdBook |
| Python だけで完結させたい | Jupyter Book |
| 学術論文・引用を重視 | MyST / LaTeX 直書き |
まとめ
- 「Issue を CMS にする」骨格は どのツールでも流用可能
- 選定の決め手は コード実行・出力形式・ビルド速度 のどれを優先するか
- この CMS は「コード付き記事 + 多形式 + 手軽さ」で Quarto を採用
- 目的が変わったら、
scripts/の出力先とレンダラーを差し替えるだけで他のツールに移行できます