設定のキーと既定の一覧
mdmark.config.yaml に書くキーの一覧。
mdmark はブラウザで YAML を読まない。
使う側のサーバーが mdmark.config.yaml を読んだオブジェクトを、mount と render の opts.config に渡す(文書を描く)。
どのキーも省ける。省いたキーには既定を当てる。
設定の形の正は、リポジトリの schemas/mdmark.config.schema.json(JSON Schema)に置く。
この一覧のキーは全て Schema が検め、この一覧にないキーを書いても、mdmark は読まず、Schema も拒まない。
CLI は mdmark.config.yaml を自分で読んで、書き出しに使う(CLI)。
theme・extensions・build・check は CLI だけが読み、mount と render は読まない。
version は mdmark upgrade だけが読む。
| 名前 | キー | 説明 |
|---|---|---|
| 機能の既定 | features |
機能ごとのオン・オフの既定 |
| 印刷の機能 | features.print |
印刷の前に閉じた折り畳みとタブ・閉じた節・行の詳細を開き、印刷の後に戻す |
| 記法の機能 | features.table ほか |
記法ごとのオン・オフ |
| 用語の機能 | features.glossary |
用語のツールチップと用語集の表のオン・オフ |
| 被参照の機能 | features.backlinks |
被参照の一覧と文書の別名のオン・オフ |
| コメントの機能 | features.comments |
本文の選んだ箇所へのコメントのオン・オフ(既定はオフ) |
| 外部ライブラリの対応表 | libraries |
印の名前から外部ライブラリのモジュールの URL を引く |
| 色分けのライブラリの読み込み先 | syntax.url |
コードブロックの色分けに使うライブラリ(highlight.js)の es/ フォルダの URL |
| ツールチップを出す場所 | tooltips.placement |
用語・図・ヒントのツールチップを、持ち主の上と下のどちらに先に出すか |
| 索引の場所 | index |
索引の YAML のパス |
| 使う側の CSS | theme |
CLI が書き出す HTML に埋める使う側の CSS のパス |
| 拡張のモジュール | extensions |
CLI が書き出す HTML に埋め、描く前に登録する拡張のモジュールのパスの並び |
| まとめる設定 | build ほか |
mdmark build がまとめる文書と書き出す先 |
| 点検から外す名前 | check.ignore |
mdmark check が知らない印として知らせない HTML コメントの名前の並び |
| 手元の版 | version |
設定・索引・文書が合わせてある mdmark の版 |
| MCP サーバーのポート | 環境変数 MDMARK_PORT |
mdmark serve が待ち受けるポート。設定ファイルには書かない |
機能ごとのオン・オフの既定を決める。
文書の <!-- features: +機能 -機能 --> が、その文書だけ上書きする(優先順は 文書を描く仕組み)。
| 項目 | 内容 |
|---|---|
| 型 | キーが機能名、値が真偽値のオブジェクト |
| 既定 | comments を除く全ての機能が true |
| 許す値 | 値は true か false。知らない機能名と、真偽値でない値は無視する |
features:
print: false
印刷の前に閉じた折り畳みと、タブ・閉じた節・行の詳細を開き、印刷の後に印刷の前の開閉へ戻す。 見え方は 印刷する。
| 項目 | 内容 |
|---|---|
| 型 | 真偽値 |
| 既定 | true |
記法ごとにオン・オフを決める。 オフにした記法は、書いた Markdown を普通の Markdown として描く。 書き方は 記法。
| 項目 | 内容 |
|---|---|
| 型 | 真偽値 |
| 既定 | true |
features:
table: false
callout: false
| キー | 記法 | オフのときの描き方 |
|---|---|---|
features.table |
表 | 表の印を取り除いて、普通の表を描く |
features.callout |
注意書き | 引用のまま描く |
features.tabs |
タブ | 範囲の中身をそのまま描く |
features.steps |
ステップ | 番号付きリストのまま描く |
features.tree |
ファイルツリー | コードブロックのまま描く |
features.badge |
バッジ | 行内のコードのまま描く |
features.code |
コードブロックの飾り | コードブロックの印を取り除き、題・行番号・行の強調を付けない。コードの行の印は書いた文字のまま描く |
features.syntax |
コードブロックの飾り | 色分けのライブラリを読まず、コードブロックを色分けしない。題・行番号・行の強調・コードの行の印は変わらない |
features.toc |
目次 | 印を取り除く |
features.anchors |
見出しのアンカー | 見出しの ID へのリンクを付けない。見出しの ID は付ける |
features.sections |
節の開閉 | 節を囲まず、section の印を取り除く |
features.row-details |
行の詳細 | 範囲の中身を、表の後の本文として描く |
features.figures |
図と表の番号 | 印を取り除き、リンクの文字を変えない |
features.diagrams |
図の部品 | 印を取り除き、定義を json のコードブロックのまま描く |
features.html |
埋め込んだ HTML | 印を取り除き、html のコードブロックをコードのまま描く |
features.hints |
ヒント | data-hint・箱の hint と io・線の tip のツールチップの中身と印を出さない。線のラベルと箱の名前は出す |
features.views |
ビュー | 印を取り除き、範囲の表を普通の表として描く。ビューの部品のモジュールは読まない |
索引の用語と用語集の表の用語に、破線の下線と意味のツールチップを付ける。 書き方は 索引と用語集を書く。 オフのときは、本文の用語に下線を付けず、用語集の表を普通の表として描く(表の印は取り除き、書き方の警告も出さない)。
| 項目 | 内容 |
|---|---|
| 型 | 真偽値 |
| 既定 | true |
文書の末尾に被参照の一覧を置き、索引の文書の aliases に一致した本文の語にも下線とツールチップの「関連文書」を付ける。
オフのときは、末尾の一覧を出さず、文書の別名にだけ一致する語に下線を付けず、ツールチップから「関連文書」の区分を外す。
参照の表を作るときも、backlinks がオフの文書は参照元にも参照先にもならない(参照の表を作る)。
| 項目 | 内容 |
|---|---|
| 型 | 真偽値 |
| 既定 | true |
features:
glossary: false
backlinks: false
読む人が本文の選んだ箇所にコメントを付けられるようにする。
使う側が mount にコメントの読み書きの関数(opts.commentStore)と opts.docId を渡したときだけ効く(文書を描く)。
オフのときは、文字を選んでもコメントのボタンを出さず、読み書きの関数の load も呼ばない。
オンで読み書きの関数を渡さないときは、ボタンを出さず、console.error に読み書きの関数が要ることを 1 回だけ出す。
書き方は ビューとコメントを使う。
| 項目 | 内容 |
|---|---|
| 型 | 真偽値 |
| 既定 | false |
| 既定がオフの理由 | コメントは使う側の保存先が要り、使わない文書で文字を選ぶたびにボタンを出さないため |
features:
comments: true
印の名前から、外部ライブラリのモジュールの URL を引く。
mdmark が持つ既定の対応表に重ね、同じ名前は URL を上書きし、対応表に無い名前は足す。
この版は既定の対応表を持たない。
足した名前の印は図の印として扱い、読めないときの知らせの枠の題は この図を表示できません になる。
| 項目 | 内容 |
|---|---|
| 型 | キーが印の名前、値が URL の文字列のオブジェクト |
| 既定 | {} |
| 許す値 | キーは英小文字で始まり、英小文字・数字・- だけを持つ。値は文字列の URL で、相対 URL はページの document.baseURI を基準に解決する。書式に合わないキーと、文字列でない値は無視する |
libraries:
my-chart: /assets/my-chart.js
モジュールは、draw(slot, args) を名前付きで export する。
slot は印の場所の要素、args は印の引数を空白で区切った文字列の配列で、draw は同期でも Promise を返す非同期でもよい。
文書に <!-- my-chart: a b --> と書くと、slot と ["a", "b"] を渡して draw を呼ぶ。
コードブロックの色分けに使うライブラリ(highlight.js)の es/ フォルダの URL を書く。
本体を {url}core.min.js、言語を {url}languages/{言語}.min.js から読む。
libraries とは別のキーで、文書に印を書かせない。
mount が読み、render は読まない。
CLI は mdmark.config.yaml のあるフォルダを基準に相対パスを解決し、書き出す HTML に使う言語の分だけを埋める(文書を書き出す)。
| 項目 | 内容 |
|---|---|
| 型 | 文字列 |
| 既定 | https://cdn.jsdelivr.net/npm/@highlightjs/cdn-assets@11.12.0/es/ |
| 許す値 | 末尾が / の URL かパス。mount は相対パスをページの document.baseURI を基準に解決し、文字列でない値を無視して既定を当てる。CLI は文字列でない値を設定ファイルの誤りにする |
syntax:
url: /vendor/highlightjs/es/
差し替える先には、@highlightjs/cdn-assets の es/ フォルダをそのまま置く。
色分けのオン・オフは features.syntax(記法の機能)で決める。
用語・図・ヒントのツールチップを、持ち主(下線の語・線のラベル・箱やヒントの印)の上と下のどちらに先に出すかを決める。
top は上に出し、上に収まらないときだけ下に出す。
bottom は下に出し、下に収まらず上に収まるときだけ上に出す。
mount が読み、render は読まない。
| 項目 | 内容 |
|---|---|
| 型 | top か bottom の文字列 |
| 既定 | top |
| 許す値 | top・bottom。mount は他の値を無視して top にし、CLI は他の値を設定ファイルの誤りにする |
tooltips:
placement: bottom
索引の YAML のパスを書く。
パスは、mdmark.config.yaml のあるフォルダからの相対パスで書く。
索引の文書の path は、この索引のファイルのあるフォルダからの相対パスで書く(索引)。
mdmark はブラウザでファイルを読まず、mount と render もこのキーを読まない。
使う側のサーバーがこのパスの YAML を読み、読んだオブジェクトと描く文書の id を opts.index・opts.docId に渡す(文書を描く)。
索引の形は 索引。
CLI はこのパスの索引と、索引の文書を読み、参照の表を作って書き出しに埋める。
| 項目 | 内容 |
|---|---|
| 型 | 文字列 |
| 既定 | なし。省くと索引を渡さない文書と同じに描く |
index: docs/index.yaml
CLI が書き出す HTML に、配布物の CSS の後で埋める使う側の CSS のパスを書く。
パスは、mdmark.config.yaml のあるフォルダからの相対パスで書く。
手順は 文書を書き出す。
| 項目 | 内容 |
|---|---|
| 型 | 文字列 |
| 既定 | なし。使う側の CSS を埋めない |
| 許す値 | ファイルのパス。読めないときは書き出しを止めず、警告に出す |
theme: theme.css
CLI が書き出す HTML に束ねて埋め、描く前に registerExtension で登録する拡張のモジュールのパスを並べる。
各モジュールは、registerExtension に渡す拡張を既定の export にする(拡張の形は 拡張を登録する)。
mdmark check はモジュールを Node で読み込んで directive を取るため、読み込みの時点でブラウザの API(HTMLElement・window など)を使わず、使うのは load の中だけにする。
パスは、mdmark.config.yaml のあるフォルダからの相対パスで書く。
| 項目 | 内容 |
|---|---|
| 型 | 文字列の配列 |
| 既定 | []。拡張を埋めず、拡張の印は知らない印として取り除かれる |
| 許す値 | TypeScript か JavaScript のファイルのパス。読めない・束ねられないものは書き出しを止めず、警告に出す |
extensions:
- extensions/example.ts
mdmark build が 1 枚の HTML にまとめる文書と、書き出す先を決める。
パスと glob は、mdmark.config.yaml のあるフォルダからの相対パスで書く。
手順は 文書を1枚にまとめる。
| 項目 | 内容 |
|---|---|
| 型 | オブジェクト |
| 既定 | なし。mdmark build は、build が無いことを出して終了コード 1 で終わる |
build:
include: ["**/*.md"]
exclude: ["下書き/**"]
glossary: ["用語集.md"]
entry: README.md
out: dist/docs.html
| キー | 型 | 必須 | 既定 | 説明 |
|---|---|---|---|---|
build.include |
文字列の配列 | 必須 | なし | まとめる Markdown の glob。**・*・? を使え、当たるのは拡張子 .md のファイルだけ。1 つ以上書く。文書は glob の並びで並べ、同じ glob の中はパスの順に並べ、重なりは最初の 1 つだけを残す |
build.exclude |
文字列の配列 | 任意 | [] |
include に当たった文書から外す glob。書き方は include と同じ |
build.glossary |
文字列の配列 | 任意 | [] |
用語集の表(glossary の印)を持つ文書のパス。表の用語を、まとめた全ての文書で効かせる。索引が無いときも効く。まとめる文書に当たらないパスは、mdmark check で schema のずれにし、mdmark build では飛ばして警告に出す |
build.entry |
文字列 | 任意 | include で最初に当たった文書 |
開いたとき、URL の # が文書を指していないときに出す文書のパス。まとめる文書に当たらないときは、mdmark check で schema のずれにし、mdmark build では既定を当てて警告に出す |
build.out |
文字列 | 必須 | なし | まとめた HTML を書くパス。拡張子 .html で書く。既にあれば上書きし、親のフォルダが無ければ作る |
build.include と build.out が無いと、mdmark build は終了コード 1 で終わり、mdmark check は schema のずれにする。
mdmark check が文書の本文の知らない印として知らせない、印と同じ書き方の HTML コメントの名前を並べる。
<!-- prettier-ignore -->・<!-- markdownlint-disable --> のような他のツールへの指示を書いた文書で使う。
| 項目 | 内容 |
|---|---|
| 型 | 文字列の配列 |
| 既定 | []。印に当たらない名前を全て知らない印として知らせる |
| 許す値 | 英小文字で始まり、英小文字・数字・- が続く名前。合わないと mdmark check は schema のずれにする |
check:
ignore:
- prettier-ignore
- markdownlint-disable
この設定・索引・文書が合わせてある mdmark の版を書く。
mdmark init が呼んだ CLI の版を書き、mdmark upgrade が移行の手順を当てて点検が通った後に、呼んだ CLI の版へ書き換える。
手順は 版を上げる。
mount・render・export・build・check は、値で振る舞いを変えない。
| 項目 | 内容 |
|---|---|
| 型 | 文字列 |
| 既定 | なし。mdmark upgrade が手元の版を聞く(v0.3.0 までの init が置いた設定) |
| 許す値 | v{MAJOR}.{MINOR}.{PATCH} の形。合わないと mdmark check は schema のずれにする |
version: v0.4.0
mdmark serve が 127.0.0.1 で待ち受けるポートを、環境変数 MDMARK_PORT で決める。
設定ファイルには書かない。
プラグインの .mcp.json の接続先 http://127.0.0.1:${MDMARK_PORT:-8782}/mcp も同じ環境変数で決まるため、変えるときは ~/.claude/settings.json の env と mdmark serve を起動する環境の両方に同じ値を設定する。
手順は MCPサーバーを起動する。
| 項目 | 内容 |
|---|---|
| 型 | 整数(環境変数の値は文字列) |
| 既定 | 8782 |
| 許す値 | 1〜65535 の整数。範囲外・整数でない値だと、mdmark serve は待ち受けずに終了コード 1 で終わる |
| 反映 | mdmark serve を起動し直し、Claude Code のセッションを開き直す |
{
"env": {
"MDMARK_PORT": "18782"
}
}