開発者向け

mdbookは主にコマンドラインツールとして使われますが、内部のライブラリーを直接取り込み、本を管理するために使うこともできます。また、柔軟なプラグインの仕組みがあるため、本を分析したり別の形式へ出力したりする必要がある場合は、独自のツールや、本を処理するもの(通常はバックエンドと呼びます)を作れます。

開発者向けの章では、mdbookの高度な使い方を説明します。

開発者が本のビルド処理へ介入する、主な方法は次の2つです。

ビルド処理

本のプロジェクトを表示形式へ変換する処理は、いくつかの工程を経ます。

  1. 本を読み込みます。
    • book.tomlを解析します。存在しなければ、既定のConfigを使います。
    • 本の各章をメモリーへ読み込みます。
    • 使うプリプロセッサーとバックエンドを見つけます。
  2. 各バックエンドについて、次の処理を行います。
    1. すべてのプリプロセッサーを実行します。
    2. バックエンドを呼び出し、処理した結果を出力します。

mdbookをライブラリーとして使う

mdbookバイナリーは、内部のmdBookクレートを包み、その機能をコマンドラインのプログラムとして提供するものです。プログラムからmdBookを操作するには、[mdbook-driver]クレートを使えます。独自の機能を追加したり、ビルド処理を調整したりできます。

mdbook-driverクレートの使い方を知るには、API文書を見るのが最も簡単です。最上位の文書では、MDBook型で本を読み込み、ビルドする方法を説明しています。configモジュールでは、設定システムについて詳しく説明しています。