mdBookでFront Matterを処理する
· 6 min read
mdBookでMarkdownファイルに含まれているFront Matterを処理するスクリプトの作成について解説します.
mdBookではMarkdownファイルをレンダリングする前にプリプロセス(事前処理)する仕組みがあります.
これはプリプロセッサが行います.プリプロセッサは標準入力からデータを受け取って加工し、それを標準出力に出力します.
ここで、実行ファイルがpython
などであればスクリプトで処理することもできます.
ここでは、Markdownファイルに含まれるFrontMatterを処理するプリプロセッサをPythonプログラムで作成します.
Front Matter
Front Matterはファイルの先頭に付加するメタデータです.通常YAML形式が使われます. たとえば、Docusaurusではブログ記事のソースファイルであるMarkdownファイルにFront Matterを入れてさまざまな設定や追加情報を入れることができます.しかし、mdBookでは標準だと処理されずにそのままレンダリングされます.
Markdownファイルにメタデータは残しつつ、レンダリング時には表示してほしくありません. そこで、プリプロセッサを使います. mdBookのプラグインを探してみるとFront Matterを処理するものがいくつか見つかりますが、実際に使ってみるとFront Matter以外も削除したりと意図した挙動になってませんでした.なので、自分でプリプロセッサを作ってみることにします.ここでは、Pythonを使ってプログラムを作成します.