mdBookで一部を非公開にするプリプロセッサを作る
· 10 min read
mdBookで生成したWebコンテンツを公開する必要があったのですが、一部の内容は公開したくないものがありました. 本記事ではプリプロセッサを作成して実現する方法について解説します.
mdBookではマークダウン方式で記述した内容を静的Webコンテンツにビルドします.通常は src
ディレクトリに含まれている SUMMARY.md
をルートとして木構造で構築します.今回は、除外対象としてファイル単位、またはファイル内の一部を公開用ビルドしたときに除外します.また、非公開でビルドするときは除外しないようにします.
除外するためにプリプロセッサを使います.プリプロセッサは標準入力と標準出力さえ出来れば可能なので、Pythonを使います.
mdbook-private
除外するプリプロセッサを mdbook-private
という名前で作成します.ちなみに同名のプリプロセッサがすでに存在しますが、想定した使い方と異なるので自作します.
実装する機能としては以下の3つになります.
- ファイル名の先頭がアンダースコア(
_
)なら除外 - Front Matterで非公開を制御する
- コンテンツ内の一部を非公開にする