1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MDebookという未完成な本――Markdown、出版、そしてAIの時代に

Last updated at Posted at 2026-01-04

はじめに:「Qiitaの記事を、一冊の本にしたかった」

MDebookの出発点は、

Qiitaに書き溜めた記事を、まとめて一冊のEPUBにしたい。

それだけである。

QiitaはMarkdownで書け、公開は容易で、検索性も高い。だが、Qiitaの記事はあくまで「記事」であり、連載はできるが、一冊の本として読む体験は、そこには存在しない。

スクロールではなく、ページとして読みたい。オフラインで、まとまった思考として読み返したい。そして何より、「これは一冊の本だ」と言える形にしたかった。

MDebookとは何か

MDebookは、ブラウザ上で動作するMarkdown電子書籍エディタだ。VIMキーバインドに対応し、複数言語をサポートし、EPUB/PDF/HTML/Markdownへのエクスポートが可能な、オープンソースのWebアプリケーションである。

インストール不要。ブラウザを開けば、すぐに本を書き始められる。

Markdownは、なぜ「本」になると途端に難しくなるのか

Markdownは、技術者にとって最も成功した軽量記法のひとつだろう。README、ブログ、ドキュメント――あらゆる場所で使われている。

だが不思議なことに、Markdownは「本」になると急に扱いづらくなる。

理由は明確だ:

  • Markdownは「文書」には強いが、「構造」には弱い
  • 複数ファイルを一冊として編集する思想が薄い
  • EPUBやPDFは常に「変換後の世界」になる

結果として、多くの人は次のような道を辿る:

  1. Markdownで書く
  2. PandocやスクリプトでEPUBに変換
  3. レイアウト崩れに悩む
  4. どこかで諦める

MDebookは、この「諦めがちな地点」に踏み込んだ。

MDebookの主要機能

エディタ機能

機能 説明
VIMキーバインド :w, :q, :eなどのVIMコマンドに完全対応
CodeMirror 6 モダンなエディタエンジンによるシンタックスハイライト
リアルタイムプレビュー 双方向スクロール同期付きのMarkdownプレビュー
複数ファイル管理 ドラッグ&ドロップによる章の並び替え

インポート・エクスポート

機能 説明
エクスポート形式 EPUB, PDF(pdfmake), HTML, Markdown(ZIP)
インポート ローカルファイル、URL(Qiita、GitHub自動変換)
プロジェクト形式 .mdebook(ZIP形式)による画像付きプロジェクト保存

PDF出力(v0.8.1時点でまだ未完成)

  • 日本語フォントサポート(カスタムTTF/OTFフォントをIndexedDBに保存)
  • 目次の自動生成(内部リンク付き)
  • ページ番号(ヘッダーにタイトル、フッターにページ番号)
  • テーブル、リンク、書式設定の完全サポート
  • 章扉ページ(「第1章 はじめに」形式の統合目次エントリ)
  • 奥付の特別フォーマット

EPUBテーマ(v0.8.1時点でまだ調整中)

5つのプリセットテーマを提供。すべてKindle Publishing Guidelines 2025に準拠:

テーマ 説明 用途
Classic 伝統的なセリフデザイン 文学、一般書籍
Modern クリーンなサンセリフ、青のアクセント ビジネス書
Technical O'Reilly風の暗赤ヘッダ 技術ドキュメント
Novel 読書最適化、シーンブレイク対応 小説
Academic 学術スタイル、両端揃え 論文

カスタムCSSのインポート・エクスポートにも対応。

書籍構造テンプレート

テンプレート ファイル名 配置
📋 奥付(Colophon) colophon.md / 奥付.md 末尾(自動)
📖 はじめに(Preface) preface.md / はじめに.md 冒頭(自動)
📑 章扉(Chapter Title) 章扉N.md 現在のタブの後
📚 参考文献(Bibliography) bibliography.md / 参考文献.md 奥付の前(自動)

Admonition(コールアウトブロック)

技術文書でよく使われる注意書きブロックに対応:

:::note
これはノートです。
:::

:::warning 警告タイトル
これは警告メッセージです。
:::

対応タイプ: note, warning, tip, info, caution, important

Markdown機能

  • テーブル(GFM)
  • シンタックスハイライト付きコードブロック
  • Mermaidダイアグラム(EPUB用PNG変換)
  • 脚注
  • 画像埋め込み(ペースト、ドラッグ&ドロップ、ファイル選択)

ユーザーエクスペリエンス

  • 5言語対応: 英語、日本語、簡体中文、スペイン語、韓国語
  • ダーク/ライトテーマ
  • 自動保存: IndexedDBによるセッション管理
  • キーボードショートカット: `Ctrl+`` でVIMモード切り替え

VIMキーバインディングという思想的選択

MDebookはCodeMirror 6を採用し、VIMキーバインディングを有効にしている。

これは単なる趣味だが、エディタの機能を強力に拡張できる。

  • 書くことを「操作」として扱う
  • マウスから手を離す
  • 思考と入力の距離を縮める

MDebookは、「文章を書く行為を、プログラミングと同じ身体感覚に近づけたい」という欲望を、かなり露骨に持っている。VIMキーバインドを使わない選択肢もあるが、その部分には開発リソースを割いていない。

主要なVIMコマンド

コマンド 説明
i, a, o INSERTモードへ
Esc NORMALモードへ
v, V VISUALモード
hjkl カーソル移動
:w 保存(ファイルハンドルがあれば上書き)
:w! ダイアログ付き保存
:w filename 名前を付けて保存
:e filename ファイルを開く/作成
:q 現在のファイルを閉じる
:wq 保存して閉じる
:imp インポートダイアログを開く
:imp URL URLからインポート

Webアプリになった理由

MDebookはWebアプリとして動作する。理由は、いちばん実装が簡単で、動作確認がしやすかったから。

  • 環境差異が少ない
  • ビルドや配布を考えなくてよい
  • 修正してすぐ試せる

特に重要だったのは、AIにコードを書かせるという前提だ。

MDebookは、実装のすべてをAI(Claude) によって生成している。開発者自身は、コードを一行も書いていない。

人間がやったのは:

  • 何を作りたいかを言語化する
  • 動かして、壊れている点を見つける
  • 修正の方向性を指示する

それだけだ。

Webアプリは、この「AIと対話しながら作る」という開発スタイルと、圧倒的に相性がよかった。

技術スタック

MDebookは以下の技術で構成されている:

カテゴリ 技術
フロントエンド React 18, TypeScript
エディタ CodeMirror 6 + @replit/codemirror-vim
スタイリング Tailwind CSS
ビルド Vite
エクスポート JSZip, FileSaver.js, Mermaid, pdfmake

プロジェクト構造

mdebook/
├── src/
│   ├── components/     # Reactコンポーネント
│   ├── utils/          # ユーティリティ関数
│   │   ├── export.ts   # EPUB/HTMLエクスポート
│   │   ├── pdf-export.ts # PDFエクスポート(pdfmake)
│   │   └── storage.ts  # IndexedDB操作
│   ├── i18n/           # 翻訳
│   ├── types/          # TypeScript型定義
│   ├── hooks/          # Reactフック
│   ├── themes/         # EPUBテーマ定義
│   └── constants/      # 定数
├── dist/               # ビルド出力
└── docs/               # ドキュメント

類似製品との比較

MDebookを理解するには、既存ツールとの比較が欠かせない。

商用ソフトウェア

Scrivener($49〜$50)

長文執筆向け統合型アプリケーションの代表格。研究資料を一か所に集め、PDF、Word、ePub、MOBIなど様々な形式でエクスポート可能。

日本語対応: Scrivener 3から日本語UIに対応。日本語の文章執筆には問題ないが、縦書きはMac版のみ対応(Windows版は非対応)。ルビ、傍点、縦中横など日本語特有の組版ルールには対応しない。

MDebookとの違い: Scrivenerは「書く場所」として優れているが、出版ワークフローは外部依存。

Ulysses(サブスクリプション)

Apple製品に特化した執筆アプリ。Markdown対応で、WordPress、Medium、Ghost、Micro.blogへの直接公開が可能。

日本語対応: 日本語入力は可能だが、UIは英語。縦書きには対応していない。

MDebookとの違い: Ulyssesは書き心地は素晴らしいが、「一冊の本」を扱う思想がない。MDebookは書き心地よりも「まとまり」を優先した。

Vellum($199.99〜$249.99)

Kindle、Kobo、Apple Booksなど、あらゆるプラットフォーム向けの電子書籍を作成可能。美しいデザインと使いやすさで高い評価を得ている。

日本語対応: 対応していない。Mac専用で、UIは英語のみ。日本語フォントの埋め込みや縦書きには非対応。欧米市場向けに設計されている。

MDebookとの違い: Vellumは「美しい英語の書籍」を作るには最高のツールだが、日本語の小説や技術書には向いていない。

Atticus($147)

ブラウザベースでWindows、macOS、Linux、Chromebookで動作するクロスプラットフォームツール。執筆とフォーマットを一体化。

日本語対応: 限定的。日本語入力は可能だが、UIは英語のみ。縦書きには対応していない。

MDebookとの違い: Atticusは便利だが、日本語の縦書き電子書籍には向いていない。

無料・オープンソース

Pandoc

変換エンジンの王者。あるマークアップ形式から別の形式への変換において最も柔軟なツール。

MDebookとの違い: Pandocは「書く場所」ではない。MDebookは、Pandocの前段——書く・構造化する場所でもある。

Sigil

無料、オープンソース、マルチプラットフォームのEPUBエディタ。EPUB 2とEPUB 3の両方に対応し、WYSIWYG編集とコード編集(XHTMLとCSS)の両方をサポート。

日本語対応: UIは日本語対応。EPUB3で縦書き・ルビに対応したが、CSSを手動で記述する必要があり、HTML/CSSの知識が必要。

MDebookとの違い: Sigilは技術的に最も柔軟だが、学習コストが高い。MDebookはMarkdownという親しみやすい形式から始められる。

Calibre

電子書籍ライブラリマネージャー兼フォーマットコンバーター。EPUB編集機能も備える。

日本語対応: UIは日本語対応。縦書きEPUBの編集も可能だが、CSS/HTMLの手動編集が必要。

MDebookとの違い: Calibreは「管理」と「変換」が主目的。

比較表

製品 価格 プラットフォーム 日本語UI 縦書き 学習コスト
MDebook 無料 ブラウザ(全OS) ⚠️ CSS設定
Scrivener $49 Win/Mac/iOS ⚠️ Mac版のみ
Ulysses サブスク Mac/iOS
Vellum $250 Mac専用
Atticus $147 全OS(ブラウザ)
Sigil 無料 全OS ✅ CSS手動
Calibre 無料 全OS ✅ CSS手動 中〜高
Pandoc 無料 全OS -

MDebookのメリット

1. 完全無料でブラウザ動作

Vellumの$250やAtticusの$147と比較して、MDebookは完全無料。インストールも不要で、ブラウザを開けばすぐに使い始められる。

2. 日本語ユーザーのための設計

  • UIが完全日本語対応 — 5言語(日本語、英語、中国語、スペイン語、韓国語)対応
  • Qiita/GitHubからの直接インポート — 日本の技術者が多く利用するプラットフォームに対応
  • 日本語フォント対応 — PDF出力時にカスタムTTF/OTFフォント(Noto Sans JPなど)をアップロード可能

3. VIMキーバインド

プログラマー・技術者にとって親しみやすい操作体系。思考と入力の距離を縮める。

4. 複数ファイル=書籍構造

1ファイル=1章という単純明快なモデル。ドラッグ&ドロップで章を並び替えられる。

5. Kindle最適化テーマ

すべてのEPUBテーマがKindle Publishing Guidelines 2025に準拠。

6. オープンソース

MITライセンスで公開されており、自由にカスタマイズ・拡張が可能。

MDebookのデメリットと制限事項

MDebookは未完成だ。正直に、その制限事項を列挙する。

1. PDF出力の制限

PDF出力はv0.8.1で大幅に強化されたが、以下の制限がある:

機能 対応状況
見出し(h1-h4) ✅ TOCリンク付き
テーブル ✅ ボーダー、ヘッダースタイリング
コードブロック ✅ 等幅フォント、背景色
リスト(ul/ol) ✅ ネスト対応
リンク ✅ クリック可能、下線付き
太字・斜体 ✅ インライン書式
ブロッククォート ✅ インデント付き
水平線 ✅ グレーライン
章扉ページ ✅ 統合TOCエントリ
奥付 ✅ TOCから除外
絵文字 ⚠️ 自動削除(フォント制限)
画像 非対応
Mermaid 非対応

画像とMermaidダイアグラムがPDFで使えないのは、技術書籍を作る上で大きな制約となる。

2. 縦書きの制限

日本語の小説は伝統的に縦書き右綴じだが、MDebookは縦書きに直接対応していない

EPUBのCSSでwriting-mode: vertical-rlを設定すれば縦書きにできるが、これはユーザーがカスタムCSSを記述する必要がある。UIから簡単に縦書きを選択する機能はない。

3. ルビ(ふりがな)の制限

日本語の書籍、特に小説や児童書ではルビが必須だが、MDebookはルビに直接対応していない

HTMLのrubyタグを使えば技術的には可能だが、Markdownの簡便さが失われる。

4. オフライン動作の制限

MDebookはWebアプリなので、基本的にはインターネット接続が必要。

ただし、dist/mdebook.htmlをダウンロードすればオフラインでも動作する(IndexedDBへのフォント保存などは一部制限あり)。

5. 大規模プロジェクトでのパフォーマンス

非常に長い文書や多数の章を持つプロジェクトでは、ブラウザのメモリ使用量が増加し、動作が重くなる可能性がある。

6. 印刷用PDF品質

pdfmakeによるPDF出力は、InDesignやLaTeXと比較すると、印刷品質という点では劣る。商業出版レベルの印刷用PDFが必要な場合は、別途レイアウトソフトでの調整が必要。

7. 協調編集機能がない

Google DocsやNotionのようなリアルタイム協調編集機能はない。複数人での執筆には向いていない。

8. バージョン管理がない

Scrivenerのスナップショット機能のような、文書のバージョン管理機能がない。重要な変更の前に手動でバックアップを取る必要がある。

9. 参考資料の管理機能がない

Scrivenerの「Research」フォルダのような、参考資料を一元管理する機能がない。

10. スペルチェック・文章校正機能がない

組み込みのスペルチェックや文法チェック機能がない(ブラウザの機能に依存)。

MDebookが向いている人

  • 技術者・プログラマー — VIMキーバインドに慣れている人
  • Qiitaやブログの記事を本にまとめたい人 — URLからの直接インポートが便利
  • 無料でEPUBを作りたい人 — 商用ツールに投資する前に試したい人
  • Markdownで執筆している人 — 既存のワークフローを活かしたい人
  • 横書きの技術書を作りたい人 — 英語の書籍や、横書きの日本語技術書に最適

MDebookが向いていない人

  • 縦書きの小説を作りたい人 — Sigilやでんでんコンバーターの方が適している
  • 印刷品質のPDFが必要な人 — InDesignやLaTeXを使うべき
  • 画像を多用した書籍を作りたい人 — PDF出力で画像が使えない
  • 商業出版レベルの品質が必要な人 — 専門ツールを使うべき
  • 協調編集が必要な人 — Google DocsやNotionの方が適している

始め方

オンラインで試す(推奨)

👉 MDebookを開く

インストール不要。ブラウザを開いてすぐに使い始められる。

ソースからビルド

# リポジトリをクローン
git clone https://github.com/fukuyori/mdebook.git
cd mdebook

# 依存関係をインストール
npm install

# 開発サーバー
npm run dev

# 本番ビルド
npm run build

# スタンドアロンHTML生成
node build-html.cjs

日本語PDFのフォント設定

  1. Google FontsからNoto Sans JPをダウンロード
  2. 設定(歯車アイコン)を開く
  3. 「PDFフォント設定」までスクロール
  4. Regularフォント(必須)とBoldフォント(任意)をアップロード
  5. フォントはIndexedDBに保存される(セッション間で保持)

未完成であること

MDebookは未完成だ。PDFは制約がある。設計も粗い部分がある。

だが、ここで一つの問いが立ち上がる。

AIがコードを書く時代において、「未完成」とは何を意味するのか。

MDebookは:

  • 人間が設計し
  • AIが実装し
  • 人間が評価する

という、新しい制作モデルの中で生まれた。

その歪みや不完全さは、この時代そのものの写し絵でもある。

従来のソフトウェア開発では、「完成」とは機能が揃い、バグがなく、ドキュメントが整備された状態を指した。しかし、AIと対話しながら開発するスタイルでは、「完成」の定義自体が変わりつつある。

MDebookは、必要最小限の機能で公開され、使いながら改善されていく。そして、「対話的に成長するソフトウェア」 という形を作っている。

  • Markdownはどこまで本になれるのか
  • 出版はどこまで個人の手に戻せるのか
  • AIはどこまで「作る側」に立てるのか

という問いを、実際に動く形で提示したアプリケーションである。

商用ツールのVellumやAtticusは、美しい英語の書籍を作るには最高だが、日本語の縦書き電子書籍には対応していない。Sigilは技術的に最も柔軟だが、HTML/CSSの知識が必要で学習コストが高い。

MDebookは、その中間に位置する。Markdownで書いて、日本語EPUBを作るというワークフローにおいて、最もバランスの取れた選択肢だ。

ただし、すべての人に向いているわけではない。

リンク

作成された電子書籍

以下は、MDebookで作成した電子書籍。

  • Common Lisp Basic Master

image.png

  • FORTH Basic Master

image.png

謝辞

MDebookは以下のオープンソースプロジェクトを使用しています:

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?