Document
内部アーキテクチャ
mdocbuilder の build が何をしているかを処理の流れで説明します。
mdocbuilder は大きく config load -> core build -> theme assets copy の流れで動きます。
処理の流れ
mdocbuilder.config.mjsを読むdocs/**/*.mdを走査する- frontmatter, h1, 見出し, 本文テキストを抽出する
- ディレクトリツリーを構築する
index.mdが無いディレクトリに自動 index を生成する- HTML,
search-index.json,site-data.jsonを出力する - theme の
styles.css,search.js,custom.cssを配置する
主なモジュール
| パス | 役割 |
|---|---|
src/core/build-site.ts |
build 本体 |
src/core/load-config.ts |
config の読み込み |
src/index.ts |
公開 API |
bin/mdocbuilder.mjs |
CLI |
src/theme-default/styles.css |
デフォルトテーマ |
src/theme-default/search.js |
クライアント検索 |
build-site.ts がやっていること
- Markdown 解析
- title / description の決定
- 見出し slug の付与
.mdリンクのルート URL 化- パンくず計算
- 直下 1 階層だけの一覧生成
{{mdocbuildindex}}差し込み- 自動 directory index 生成
出力データ
HTML
各ページを静的 HTML として出力します。
search-index.json
クライアント検索用のインデックスです。
- title
- description
- path
- sourcePath
- headings
- plainText
- updatedAt
- directory
site-data.json
サイト全体の構造とメタ情報です。将来の theme / plugin 拡張でも使えるように残しています。