開発者向けAI教科書自動化ワークフロー:Claude Code + Pandoc完全ガイド
ChatGPTでコースシラバスを丸ごと生成して喜んでいたが、Google Docsに貼り付けてから見出しのフォーマット調整、目次の修正、フォントサイズの統一に45分を費やした——そして第3章に大きなエラーを発見し、書き直しが必要になった。再生成し、また貼り付け、またフォーマットを直す。この繰り返しが、新しい教科書を作るたびに発生する。
これがノーコードツールの隠れたコストだ:フォーマット調整の時間がコンテンツ生成の時間を上回ることがある。さらに悪いことに、バージョン管理がなければ前回の変更内容がわからず、バッチ自動化がなければ10冊の教科書は10回の手作業を意味する。
PythonとコマンドラインについてI基礎知識があれば、この記事では**「一度設定すれば、ずっと使える」**自動化パイプラインの構築方法を紹介する:Claude Codeで生成 → Markdown管理 → Pandoc変換 → EPUB/PDF出力。
🚀 コードを書きたくない場合:バージョン管理やバッチ自動化は不要で、AI教科書生成をすぐに試したい方は、ノーコードAI教科書生成ガイドを参照してください。そちらのパスはコーディング不要で1〜2時間で完了し、後からここに戻って開発者向けワークフローにアップグレードすることもできます。
TL;DR
📌 要点まとめ
- 課題:ノーコードツールにはバージョン管理、自動化、バッチ生成のサポートが欠けている。
- 解決策:Claude Code + Markdown + Pandoc + Python自動化パイプライン。
- 主なメリット:完全なフォーマット制御、Gitバージョン管理、再利用可能なスクリプト。
- 時間の投資:初期セットアップ約2〜4時間、以降は教科書1冊あたり1〜2時間。
- コスト:Claude Pro(月20ドル、オプション);Pandoc、Python、GitはすべてI無料。
- 対象読者:CLIに慣れた開発者、テクニカルライター、バッチ生成やカスタマイズが必要なパワーユーザー。
- 実例:nihongo-claude — Claude Codeが要件に基づいて計画・生成したN3日本語学習教材。
開発者向けワークフローを選ぶべき場合
始める前に、このパスが自分に合っているか確認しよう。
開発者向けワークフローを選ぶべき場合:
- ✅ バージョン管理が必要——変更を追跡したり、以前のバージョンに戻したりしたい。
- ✅ 複数の教科書を生成する予定——スクリプトを再利用したい。
- ✅ 完全なフォーマット制御が欲しい——カスタムCSS、EPUBメタデータ、カバー画像。
- ✅ CLIツールを好み、基本的なPythonまたはShell Scriptに慣れている。
- ✅ 自動デプロイが必要——例えば、Gitコミットのたびに自動でEPUBを再生成したい。
このパスを選ばないほうがいい場合:
- ❌ 1冊だけ素早く生成したい(一回限りのプロジェクト)。
- ❌ ターミナルを触りたくない、スクリプトを書きたくない。
- ❌ 時間が限られていて、今日中に完成品が欲しい。
⚠️ コストについての注意:開発者向けパスは初期投資が高くなります。教科書が時々しか必要でない場合、ノーコードソリューションのROIの方が通常高いです。この記事はGit、Markdown、CLI操作に慣れていることを前提としています。
システムアーキテクチャ:要件から電子書籍まで
パイプライン全体には3つのコアステップしかない:
学習要件
↓
Claude Code(コース構成の計画 + Markdownコンテンツの生成)
↓
Markdownファイル(Gitバージョン管理)
↓
Pandoc(変換)
├──→ EPUB(主要フォーマット、現代の電子書籍リーダー向け)
├──→ PDF(印刷 / タブレット読書)
└──→ MOBI(オプション、2021年以前のKindleのみ)
ツール選択についての重要な注意点:
- Pandocは主力ツールで、高品質なEPUBを直接生成できる;ほとんどの場合に十分。
- Calibreはオプションで、MOBIフォーマットが必要な場合(古いKindle)にのみ必要;新しいKindle(2022年以降)はEPUBに対応している(Amazonが独自フォーマットに自動変換)ため、Calibreはスキップできる。
- AIツールの柔軟性:この記事ではClaude Codeを例として使用しているが、このワークフローはChatGPT API、Gemini API、その他のLLMにも同様に適用できる——使い慣れたものを使えばよい。
技術要件
| ツール | 必要性 | インストール方法 |
|---|---|---|
| Git | ✅ 必須 | システム組み込みまたは brew install git |
| Python 3.8+ | ✅ 必須 | python.orgまたは brew install python |
| Pandoc | ✅ 必須 | brew install pandoc / apt install pandoc |
| Claude Code CLI | ✅ 推奨 | `curl -fsSL https://claude.ai/install.sh |
| Calibre | ❌ オプション | brew install calibre(MOBIが必要な場合のみ) |
ステップ1:Claude Codeで構造化コンテンツを生成する
なぜWeb UIではなくClaude Codeを使うのか?
Claude.aiのWebインターフェースはインタラクティブなチャットには最適だが、教科書生成にはいくつかの制限がある:
- 出力が不便:テキストエディタへの手動コピー&ペーストが必要。
- ファイルアクセス不可:Web UIはローカルファイルシステムを制御できない。
- コンテキストの制限:チャプター間の一貫性を保つのが難しい。
Claude Code(ローカルCLI)はこれらの問題を解決する:
- プロジェクトディレクトリ内で直接実行され、生成されたMarkdownファイルが自動的にローカルに保存される。
outline.mdや参考資料を読み込み、一貫したスタイルを維持できる。- Gitワークフローと自然に統合できる。
プロジェクトディレクトリのセットアップ
# プロジェクトを作成
mkdir my-textbook && cd my-textbook
git init
# 基本的なディレクトリ構造を作成
mkdir -p chapters assets output scripts
# Python環境を初期化(推奨)
python3 -m venv venv
source venv/bin/activate
pip install ebooklib markdown2 weasyprint
コースアウトラインの作成(AIに構成を計画させる)
これが開発者向けパスのコアな違いだ:事前に素材を用意する必要はない。学習ニーズを説明するだけで、Claude Codeがコース全体の構成を計画してくれる。
REQUIREMENTS.mdを作成する:
# 学習要件
## 学びたいこと
データ分析入門(プロダクトマネージャー視点)
## 私のバックグラウンド
- 現在の役割:ソフトウェアエンジニア、6ヶ月前にPMに転職
- 知っていること:Pythonの基礎、基本的なSQLクエリ
- 弱点:統計の概念、A/Bテスト設計、データビジュアライゼーション
## 学習目標
完了後に以下ができるようになること:
1. 独立してA/Bテストを設計し、結果を解釈できる
2. GA4を使用してユーザー行動ファネルを分析できる
3. 非技術系の聴衆向けに明確なデータビジュアライゼーションを作成できる
## コース仕様
- チャプター数:8〜10
- 1チャプターあたりの長さ:約1,500〜2,000語
- 言語:英語
- 例のコンテキスト:SaaSプロダクト、Eコマースプラットフォーム
Claude Codeにコース構成を計画させる
プロジェクトディレクトリでClaude Codeを起動する:
claude
Claude Codeが起動したら、以下のコマンドを入力する:
REQUIREMENTS.mdを読んで、以下を実行してください:
1. 8〜10チャプターのコース構成を設計し、outline.mdに保存する
2. 各チャプターには:学習目標、コアコンセプト(3〜5個)、実例トピック、自己チェッククイズ(3問)を含める
3. 難易度が論理的に進行するよう、Python/SQLの基礎はあるが統計が弱い学習者に適したものにする
Claude Codeは自動的に要件を読み、構成を計画し、outline.mdをディレクトリに書き込む。
チャプターごとにコンテンツを生成する
構成を確認したら、Claude Codeに各チャプターを生成させる:
outline.mdの構成に基づいて、第1チャプターの完全なコンテンツを生成してください。
フォーマット要件:
- Markdownフォーマットを使用
- チャプターのメインタイトルにH2、セクションにH3
- 各コアコンセプトに実際のSaaSプロダクトの事例を添付
- 3つの自己チェック問題(答え付き)で終わる
結果をchapters/chapter-01.mdに保存する
この手順をすべてのチャプターに繰り返す。各チャプターが完了したらGitコミットする:
git add chapters/chapter-01.md
git commit -m "feat: add chapter 1 - data-driven decision framework"
💡 品質管理のヒント:各チャプターを生成した後、Claude Codeに「逆レビュー」をしてもらう——チャプターの潜在的なエラー、不明確な点、または過度な単純化を指摘するよう依頼する。これは手動の校正よりも効率的だ。Claude Codeをソフトウェア開発でさらに活用する方法については、Claude Code PRDワークフローを参照。
ステップ2:Pandoc変換——MarkdownからEPUBへ
Pandocはこのパイプラインのコア変換ツールだ。オープンソースで無料、数十のフォーマットをサポートし、CLIフレンドリーで自動化に最適だ。
最もシンプルな変換コマンド
Pandocが正しくインストールされているか確認する:
pandoc --version
基本的な変換:
pandoc chapters/chapter-01.md -o output/textbook.epub \
--toc \
--metadata title="データ分析101:PMガイド"
数秒で、あらゆる電子書籍リーダーで読めるEPUBができあがる。
本番環境向けの完全な変換コマンド
実際のプロジェクトでは、より多くのパラメーターが必要だ:
pandoc \
chapters/chapter-*.md \
-o output/my-textbook.epub \
--toc \
--toc-depth=2 \
--epub-cover-image=assets/cover.jpg \
--css=assets/styles.css \
--metadata title="データ分析101:PMガイド" \
--metadata author="あなたの名前" \
--metadata lang=ja \
--metadata date="2026-04-06"
パラメーターの説明:
| パラメーター | 用途 |
|---|---|
--toc | 目次を生成 |
--toc-depth=2 | 目次の深さ(H1とH2) |
--epub-cover-image | カバー画像(1600×2560 px推奨) |
--css | カスタムレイアウトスタイル |
--metadata lang=ja | 言語設定(フォントレンダリングに影響) |
カスタムCSSレイアウト
assets/styles.cssを作成して、教科書をプロフェッショナルな見た目にする:
/* 基本レイアウト */
body {
font-family: "Noto Sans CJK JP", "Noto Sans", sans-serif;
line-height: 1.8;
color: #333;
max-width: 680px;
margin: 0 auto;
}
/* チャプタータイトル */
h1 {
color: #2c3e50;
border-bottom: 3px solid #3498db;
padding-bottom: 10px;
margin-top: 2em;
}
h2 {
color: #34495e;
margin-top: 1.8em;
}
/* コードブロック */
pre {
background: #f8f9fa;
padding: 16px;
border-radius: 6px;
overflow-x: auto;
font-size: 0.9em;
}
code {
background: #f0f0f0;
padding: 2px 6px;
border-radius: 3px;
font-size: 0.9em;
}
/* 引用ブロック */
blockquote {
border-left: 4px solid #3498db;
margin-left: 0;
padding: 10px 20px;
background: #ecf9ff;
border-radius: 0 6px 6px 0;
}
/* テーブル */
table {
width: 100%;
border-collapse: collapse;
margin: 1.5em 0;
}
th, td {
border: 1px solid #ddd;
padding: 10px 14px;
text-align: left;
}
th {
background: #f2f4f7;
font-weight: 600;
}
バッチ自動化スクリプト
scripts/convert.shを作成して、ワンクリックですべてのフォーマットを生成できるようにする:
#!/bin/bash
# 設定
TITLE="データ分析101:PMガイド"
AUTHOR="あなたの名前"
OUTPUT_DIR="output"
COVER="assets/cover.jpg"
CSS="assets/styles.css"
# 出力ディレクトリの確認
mkdir -p "$OUTPUT_DIR"
echo "🔄 変換を開始しています..."
# EPUBに変換(主要フォーマット)
pandoc chapters/chapter-*.md \
-o "${OUTPUT_DIR}/textbook.epub" \
--toc --toc-depth=2 \
--epub-cover-image="$COVER" \
--css="$CSS" \
--metadata title="$TITLE" \
--metadata author="$AUTHOR" \
--metadata lang=ja
echo "✅ EPUB生成完了: ${OUTPUT_DIR}/textbook.epub"
# PDFに変換(HTML経由)
pandoc chapters/chapter-*.md \
-o "${OUTPUT_DIR}/textbook.html" \
--standalone \
--css="$CSS" \
--metadata title="$TITLE"
python3 -m weasyprint "${OUTPUT_DIR}/textbook.html" "${OUTPUT_DIR}/textbook.pdf"
rm "${OUTPUT_DIR}/textbook.html"
echo "✅ PDF生成完了: ${OUTPUT_DIR}/textbook.pdf"
echo ""
echo "📂 出力ディレクトリ:"
ls -lh "${OUTPUT_DIR}/"
実行する:
chmod +x scripts/convert.sh
./scripts/convert.sh
出力構造:
output/
├── textbook.epub ← 電子書籍リーダー(主要)
└── textbook.pdf ← 印刷 / タブレット
ステップ3(オプション):Calibre——Kindle MOBI専用
⚠️ 注意:ほとんどのユーザーはこのステップは不要です。
Calibreが必要な場合:
| デバイス | 対応フォーマット | Calibreが必要? |
|---|---|---|
| Kindle Paperwhite(2022年以降) | ✅ EPUBに対応(自動変換) | ❌ 不要 |
| Kobo、Apple Books、Google Play | ✅ EPUBをサポート | ❌ 不要 |
| ブラウザ読書(タブレット) | ✅ EPUB/PDFをサポート | ❌ 不要 |
| 旧型Kindle(2021年以前) | ❌ MOBIのみ | ✅ 必要 |
読者が旧型Kindleを使っている場合のみ、Calibreをインストールして以下を実行する:
# Calibreをインストール
brew install calibre # macOS
sudo apt install calibre # Linux
# EPUB → MOBI変換
ebook-convert output/textbook.epub output/textbook.mobi \
--output-profile kindle
結論:特定のニーズがなければ、PandocでEPUBを生成するだけで十分だ。余分なツールの依存関係を導入する必要はない。
ケーススタディ:nihongo-claude——要件駆動の教材生成
nihongo-claudeはオープンソースプロジェクトであり、このワークフローの実際の実装だ。「開発者向けパス」のコアアドバンテージを最もよく示している。
重要な特徴:ゼロから、要件駆動で
一般的なAI教科書ツールとの最大の違い:このプロジェクトは素材ゼロからスタートした——PDF、ノート、シラバス、何もない。
プロセスはこのようなものだった:
- 要件を定義する:「N3日本語を学びたい、現在のレベルはN4、3ヶ月でN3に到達したい。」
- Claude Codeが構成を計画する:AIが4フェーズ30レッスンの完全なコース構成を自動設計。
- コンテンツを生成する:各レッスンには語彙、文法、実際の会話シナリオ、クイズが含まれる。
- 自動出力:Pythonスクリプト + Pandocでワンクリックのエポック/PDF生成。
これにより重要な仮説が検証された:日本語の先生でなくても、適切に構成された日本語教材を生成できる——学習ニーズと品質基準を明確に定義できれば。
プロジェクト構造
nihongo-claude/
├── REQUIREMENTS.md # 要件定義
├── lessons/
│ ├── phase-1/ # フェーズ1:基礎文法(L1-8)
│ │ ├── lesson-01.md
│ │ ├── lesson-02.md
│ │ └── ...
│ ├── phase-2/ # フェーズ2:応用文法(L9-16)
│ ├── phase-3/ # フェーズ3:場面別応用(L17-24)
│ └── phase-4/ # フェーズ4:模擬試験(L25-30)
├── scripts/
│ ├── convert_to_epub.py # Python EPUBスクリプト
│ ├── generate_pdf.py # PDF生成スクリプト
│ └── quick-convert.sh # ワンクリックスクリプト
├── assets/
│ ├── styles.css # カスタムCSS
│ └── cover.jpg # カバー画像
└── output/
├── nihongo-n3.epub
└── nihongo-n3.pdf
コアスクリプトの解説
1. convert_to_epub.py — Python EPUB生成
import glob
from ebooklib import epub
import markdown2
def build_epub():
book = epub.EpubBook()
book.set_identifier('nihongo-n3-v1')
book.set_title('Japanese N3 Complete Guide')
book.set_language('ja')
book.add_author('Your Name')
chapters = []
lesson_files = sorted(glob.glob('lessons/**/*.md', recursive=True))
for i, lesson_path in enumerate(lesson_files, start=1):
with open(lesson_path, 'r', encoding='utf-8') as f:
md_content = f.read()
# Markdown → HTML
html_content = markdown2.markdown(md_content, extras=['tables', 'fenced-code-blocks'])
# EPUBチャプターを作成
chapter = epub.EpubHtml(
title=f'Lesson {i:02d}',
file_name=f'lesson_{i:02d}.xhtml',
lang='ja'
)
chapter.content = f'<html><body>{html_content}</body></html>'
book.add_item(chapter)
chapters.append(chapter)
# TOCとNavを設定
book.toc = chapters
book.spine = ['nav'] + chapters
book.add_item(epub.EpubNcx())
book.add_item(epub.EpubNav())
epub.write_epub('output/nihongo-n3.epub', book)
print('✅ EPUB生成完了: output/nihongo-n3.epub')
if __name__ == '__main__':
build_epub()
2. quick-convert.sh — インタラクティブなワンクリックスクリプト
#!/bin/bash
echo "出力フォーマットを選択してください:"
echo "1) EPUB(推奨)"
echo "2) PDF"
echo "3) すべて"
read -p "オプションを入力(1-3): " choice
case $choice in
1)
python3 scripts/convert_to_epub.py
;;
2)
python3 scripts/generate_pdf.py
;;
3)
python3 scripts/convert_to_epub.py
python3 scripts/generate_pdf.py
echo "✅ すべてのフォーマットの生成が完了しました"
;;
*)
echo "❌ 無効なオプションです"
exit 1
;;
esac
nihongo-claudeから学んだ3つの教訓
1. 要件定義がコンテンツ品質を決める
AIツールではなく、要件をどのように説明するかが重要だ。「日本語を学びたい」と「N4レベルで、3ヶ月でN3合格を目標とし、1日1時間の学習時間があり、リスニングとリーディングに重点を置く必要がある」では、生成される教材の品質が大きく異なる。
2. モジュラー設計でメンテナンスが楽になる
各レッスンを独立したMarkdownファイルとして保存することで:
- エラーを見つけたら1つのファイルだけを修正すればよく、他には影響しない。
- 異なる教授法をA/Bテストできる(Gitブランチを使用)。
- 新しいコースを追加するだけでMarkdownファイルが追加され、スクリプトが自動的に含める。
3. このパイプラインはあらゆるトピックに適用できる
このリポジトリをForkして、REQUIREMENTS.mdを自分の学習ニーズに合わせて修正し、Claude Codeに新しいコース構成を計画させるだけでいい——機械学習でも、財務分析でも、プロダクトマネジメントでも、パイプラインは同じだ。
発展:GitHub Actionsによる完全自動化
教科書を継続的に更新する必要がある場合(例:技術の変化を追跡する)、CI/CDパイプラインを設定する:Markdownを更新するコミットのたびに、GitHubが自動的にEPUB/PDFを再生成する。
.github/workflows/build-ebook.ymlを作成する:
name: Build eBook
on:
push:
branches: [main]
paths:
- 'chapters/**'
- 'assets/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Pandoc
run: |
sudo apt-get update
sudo apt-get install -y pandoc
- name: Install Python dependencies
run: pip install ebooklib markdown2 weasyprint
- name: Generate EPUB
run: python scripts/convert_to_epub.py
- name: Generate PDF
run: |
pandoc chapters/chapter-*.md \
-o output/textbook.html \
--standalone --css=assets/styles.css \
--metadata title="My Textbook"
python3 -m weasyprint output/textbook.html output/textbook.pdf
rm output/textbook.html
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ebooks
path: output/
- name: Create Release (on tag)
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: output/*
使い方:
chapters/内のMarkdownコンテンツを修正する。git commit && git push。- GitHub Actionsが自動実行され、新しいEPUB/PDFバージョンが生成される。
- 正式なリリースにはタグを付ける:
git tag v1.1.0 && git push --tags。 - GitHubがダウンロードリンク付きのReleaseを自動作成する。
💡 プロのヒント:GitHub ActionsにMarkdownリンター(例:
markdownlint)を追加すると、すべてのコミットがフォーマット基準を満たすことが確認でき、変換エラーを防げる。
リスクと制限事項
技術的な複雑さ
- 学習曲線:CLI、Git、基本的なPythonへの慣れが必要。初心者には半日かかることもある。
- デバッグ:EPUBフォーマットの問題(CSS互換性、画像パス)はトレースが難しいことがある。
- Pandocのバージョン:バージョン間でパラメーターに若干の違いがある;アップグレード時はテストが必要。
ツールの依存関係
- Pythonパッケージの競合:
ebooklib、weasyprintが競合する可能性がある;venvを使用すること。 - EPUBの互換性:CSSサポートはリーダーによって異なる;複数のデバイスでテストすること。
- weayprintのフォント:日本語PDFでは文字化け(豆腐)を避けるためフォントのインストールが必要(例:Noto Sans CJK JP)。
コストに関する考慮事項
- Claude Proサブスクリプション:大量の高品質コンテンツ生成には、Claude Pro(月20ドル)が無料プランより高い制限を提供する;ChatGPT PlusやGemini Advancedも代替手段。
- 開発時間:初期セットアップはノーコードより2〜4時間多いが、一回限りの投資だ。
- GitHub Actionsの制限:月2,000分の無料枠(1冊の生成は10分未満)。
このパスを使わないほうがよい場合
⚠️ 正直なところ:1冊の教科書だけを生成したい場合、ここでの初期労力はおそらく割に合わない。ノーコードソリューションなら、ゼロセットアップで今日中に最初の本が完成する。大量生成やバージョン管理の必要性を確認してからここに戻ってきてほしい。
結論:自分だけの教科書ファクトリーを構築しよう
ここまで読んだなら、あなたは今以下を持っている:
- Claude Code生成ワークフロー:要件 → 計画 → 生成、AIアシスト。
- Pandoc変換パイプライン:Markdown → EPUB/PDF、1コマンド。
- バージョン管理の統合:Git追跡、巻き戻し可能、コラボレーション対応。
- オプションのCI/CD:コミット時に自動生成。
本当の価値は「本を1冊生成する」ことではなく、再利用可能性にある:構築したスクリプトとワークフローは次の本でも機能し、要件とメタデータを変更するだけでいい。
推奨する始め方:
- nihongo-claudeをForkして構造を研究する。
- 自分の学習ニーズに合わせて
REQUIREMENTS.mdを修正する。 - Claude Codeを起動してコースを計画させる。
./scripts/quick-convert.shを実行して最初のEPUBを生成する。- リーダーで開いて「自分で生成した」達成感を味わう。
💡 最後に:ツールは手段であり、コンテンツの品質が目的だ。どのAIツールを使うにしても、手動レビュー、事実確認、個人化は欠かせない。AIは強力なアシスタントだが、どの知識が価値あるかを判断するのはあなた自身だ。
AI教科書生成をまだ試したことがなければ、ノーコード版から始めよう——今日中に最初の本が完成する。慣れてからここに戻って、この自動化システムを構築すればいい。2つのパスは競合するものではなく、補完し合うものだ。
FAQ
このワークフローとノーコードアプローチの主な違いは何ですか?
ノーコードアプローチは、技術的な知識がなくても1冊の教科書を素早く生成したい場合に最適です。開発者向けワークフローは、バージョン管理(Gitですべての変更を追跡)、バッチ自動化(スクリプトを複数の書籍で再利用)、完全なフォーマット制御(カスタムCSS、EPUBメタデータ)に優れています。たまにしか教科書が必要でないなら、ノーコードアプローチの方がROIが高いです。複数の教科書を継続的に生成・管理する場合は、開発者向けワークフローが長期的に大幅な時間節約になります。
初期セットアップにはどのくらい時間がかかりますか?また、2冊目以降はどうですか?
初期セットアップ(ツールのインストール、ディレクトリ構造の作成、スクリプトの設定)は、コマンドラインツールへの慣れ度によって約2〜4時間かかります。それ以降は、新しい教科書ごとにREQUIREMENTS.mdを学習ニーズに合わせて修正し、Claude Codeに構成を計画・コンテンツを生成させ、変換スクリプトを実行するだけで、合計約1〜2時間です。
必ずClaude Codeを使う必要がありますか?他のAIツールでも使えますか?
もちろんです。このパイプラインの核心はMarkdownファイルとPandoc変換であり、AIツールは交換可能です。ChatGPT、Gemini、またはMarkdownを出力できるLLMならどれでもこのワークフローに組み込めます。この記事でClaude Codeを使用しているのは、nihongo-claudeの実例で使われており、Claude Code CLIがローカルディレクトリのファイルを直接読み書きでき、Gitワークフローと便利に統合できるためです。
EPUB生成にはPandocとPython eBooklibのどちらを使うべきですか?
初心者はPandocから始めるべきです。1つのコマンドで変換でき、CSSのカスタマイズは限られていますが、通常は十分です。より細かい制御が必要な場合(例:カスタムチャプター順序、メタデータ、ナビゲーション構造)は、Python eBooklibに切り替えてください。まずPandocでプロトタイプを素早く作り、高度な制御が必要と確認してからeBooklibに移行するのがおすすめです。
生成されたEPUBは異なる電子書籍リーダーで一貫して表示されますか?
EPUBは標準フォーマットですが、CSSのサポートはリーダーによって異なります。KindleはCSSサポートが限られているため、flexboxやgridレイアウトは避けてください。Apple BooksとKoboはより完全なCSSサポートを提供しています。保守的なCSSの設定(フォント、色、基本的な余白)を使用し、複数のデバイスでレンダリングを確認してください。



