印と記法の一覧(書き方・引数・印に対応しない表示での見え方)
文書に書いて、表・注意書き・タブなどの表示を付ける書き方の一覧。 どれも 文書を描く で描いた文書に効く。
印は HTML コメントで書く。
1 か所に付ける印は <!-- 名前: 引数 -->、範囲を持つ印は <!-- 名前: 引数 --> 〜 <!-- /名前 --> で囲む。
引数の無い印はコロンを省いて <!-- 名前 --> と書ける。
引数は空白で区切り、種類・+機能・-機能・キー=値・closed・open を書ける。
| 名前 | 書き方 | 説明 |
|---|---|---|
| 表 | <!-- table: 種類 +機能 -機能 キー=値 closed --> 〜 <!-- /table --> |
表に並べ替え・ピン止め・絞り込み・件数・列の表示の切り替え・集計の行・コピー・行へのリンクと折り畳みを付ける |
| 注意書き | 引用の 1 行目の [!NOTE] |
引用を種類ごとの題・色・アイコンを持つ枠にする |
| タブ | <!-- tabs: group=名前 --> 〜 <!-- /tabs --> |
見出しで区切った範囲をタブで切り替えて見せ、同じ組のタブの選択を揃えて覚える |
| ステップ | <!-- steps --> 〜 <!-- /steps --> |
番号付きリストを手順に見せる |
| ファイルツリー | 言語 tree のコードブロック |
罫線で書いたフォルダ構成を入れ子のツリーにする |
| バッジ | 行内のコードの頭の badge\: |
行内のコードを札にする |
| コードブロックの飾り | コードブロックの直前の <!-- code: title=題 lines highlight=行,… --> と、コードの行末の [!code ++]・[!code --]・[!code highlight]。コードブロックの言語(ts・yaml など) |
コードブロックに題・行番号・行の強調を付け、行末の印で行を足した行・消した行・強調に分け、言語に応じて色分けする |
| 目次 | <!-- toc --> |
h2〜h3 の見出しの目次を置く |
| 見出しのアンカー | なし(見出しに付く) | 見出しに ID と、その ID へのリンクを付ける |
| 節の開閉 | 見出しの直後の <!-- section: closed --> |
見出しの節を見出しから開閉する |
| 行の詳細 | 表の直後の <!-- row-detail: 行の位置 --> 〜 <!-- /row-detail --> |
表の行の下に詳細を開閉して出す |
| 図と表の番号 | <!-- fig: ID --> |
図と表に通し番号を付け、リンクの文字を番号にする |
| 用語集の表 | <!-- glossary: term=列名 meaning=列名 aliases=列名 --> 〜 <!-- /glossary --> |
表の用語・意味・別名の列から用語を入れ、本文の用語にツールチップを付ける |
| ビュー | <!-- view: group=列名 default=board\|table filter=列名:種類,… icons=値:アイコンの名前,… --> 〜 <!-- /view --> |
範囲の最初の表を、ボード表示と表形式を切り替えるビューにし、表形式を列で絞り込む |
| 図の部品 | <!-- flow -->・<!-- sequence -->・<!-- chart -->・<!-- param --> 〜 閉じの印 |
範囲の json のコードブロックの定義から、フロー図・シーケンス図・グラフ・操作できる部品を描く |
| 埋め込んだ HTML | <!-- html --> 〜 <!-- /html --> |
範囲の html のコードブロックを、コードではなくその場の HTML として描き、中の図の部品の custom element を図にする |
| ヒント | 埋め込んだ HTML の要素の data-hint |
要素の文をツールチップで出す |
| 拡張の印 | <!-- 名前: 引数 --> |
使う側が足した印を描く |
| 書き方の警告 | なし(読めない指定の箇所に出る) | 読めない指定とその直し方を知らせる |
表に、種類ごとの並べ替え・ピン止め・絞り込みと折り畳みを付ける。
機能の名前は table(設定)。
手順は 表に機能を付ける。
<!-- table: data filter=名前,更新日:date closed -->
| 名前 | 値 | 更新日 |
| --- | --- | --- |
| りんご | 10 | 2026-10-01 |
| みかん | 2 | 2026-10-02 |
<!-- /table -->
印で囲んだ範囲の表すべてに当たる。 囲まない表は既定の種類で描く。
| 引数 | 説明 |
|---|---|
| 種類 | data か plain。省くと既定の種類 |
+機能 / -機能 |
種類の機能に足す・外す。機能は sort(並べ替え)・pin(ピン止め)・filter(絞り込み)・count(件数の表示)・columns(列の表示の切り替え)・total(集計の行)・copy(表のコピー)・rowlink(行へのリンク) |
filter=列名:種類,… |
絞り込みを付ける列と種類。列名は表の見出しの文字で、複数の列はコンマで区切る。種類は select・text・date で、省くと select |
hide=列名,… |
最初から隠す列。+columns を書いた表にだけ当たる。先頭の列は隠せない |
total=列名:計算,… |
集計の行で集計する列と計算。+total を書いた表にだけ当たる。計算は sum(合計)・avg(平均)・count(空でないセルの数) |
closed / open |
表を折り畳みに入れ、既定で閉じる・開く。折り畳みの見出しは 表を開く |
種類ごとの機能は次のとおり。
| 種類 | 付く機能 |
|---|---|
| 既定 | ピン止め |
data |
並べ替え・ピン止め・絞り込み |
plain |
なし。外側の枠・縦の罫線・面を外す |
count・columns・total・copy・rowlink はどの種類の既定にも入らず、+機能 を書いた表にだけ付く。
機能の動きは次のとおり。
| 機能 | 動き |
|---|---|
| 並べ替え | 列の見出しを押すたびに、昇順・降順・元の並びを繰り返す。数値だけの列は数の大きさ、それ以外は文字の順で並べる |
| ピン止め | 表が幅からはみ出すときだけ、各列の見出しにボタンを出す。押した列までを表の左端に留め、押し直すと外す |
| 絞り込み | filter= で指定した列の見出しにだけボタンを出す。押すと絞り込みのドロワーが開き、外を押すか Esc で閉じる。列ごとの絞り込みは重ねて当たる |
| 件数の表示 | 表の上に {表示している行の数} / {全ての行の数} 件 を出す。絞り込みで行が減ると表示している行の数が変わる |
| 列の表示の切り替え | 表の上の 列の表示 のボタンで、列名のチェックボックスを並べたメニューを開き、列ごとに表示・非表示を切り替える。hide= の列は最初から隠す。先頭の列のチェックボックスは外せず、メニューに 先頭の列は隠せません を出す。「既定に戻す」で hide= の状態に戻す |
| 集計の行 | total= の列を表の末尾の行で集計する。題は計算ごとに 合計・平均・個数。集計するのは表示している行で、絞り込みに合わせて計算し直し、並べ替えでは動かない。sum・avg は数として読めないセルを除く |
| 表のコピー | 表の上の 表をコピー のボタンで、見出しの行と表示している行の、表示している列を、セルをタブで、行を改行で区切ったテキスト(TSV)にしてクリップボードへ写す。写せたらボタンが コピーしました、写せなかったら コピーできませんでした になる |
| 行へのリンク | 各行の先頭のセルに、その行を指す #ID のリンクを置く。URL の #ID が行を指すとき、その行へ移って強調する。閉じた表・閉じた節の中の行は開いてから、絞り込みで隠れた行はその表の絞り込みを外してから移る |
行へのリンクの #ID は、先頭の列の文字から見出しのアンカーと同じ規則で作り、同じ文書の中で重なれば -1・-2 を付ける。
絞り込みの種類は次のとおり。
| 種類 | 絞り方 |
|---|---|
select |
値をチェックボックスで選ぶ。候補を検索できる |
text |
入れた文字を含む行に絞る |
date |
開始日と終了日の期間に絞る。日付として読めないセルの行は、期間を指定すると合わない |
見出し行は面の色で本文の行と分け、表の中で縦にスクロールしても表の上端に留める。
本文の行は地の色のままで、表の外側は角丸の 1px の枠で囲む。
表の高さの上限は --mdmark-table-max-height(テーマの CSS 変数)。
印は HTML コメントのため見えず、表は普通の表として読める。
引用を、種類ごとの題・色・アイコンを持つ枠にする。
枠の面は種類の色の薄い色、枠の線は淡い色になる(テーマの CSS 変数)。
機能の名前は callout。
手順は 本文を部品で組む。
> [!WARNING]
> 守らないと壊れる内容を書く。
> [!NOTE]-
> 閉じた状態で始める補足を書く。
| 書き方 | 題 |
|---|---|
[!NOTE] |
補足 |
[!TIP] |
ヒント |
[!IMPORTANT] |
重要 |
[!WARNING] |
警告 |
[!CAUTION] |
注意 |
引用の 1 行目に書く。
[!NOTE]- のように末尾に - を付けると、題だけを出す閉じた折り畳みにする。
知らない種類は NOTE として出す。
種類は題の文字でも分かる。
印ではない書き方のため、引用のまま読める。
引用の中に [!NOTE] などの文字が残る。
範囲を、最初に出る見出しの階層で区切り、見出しの文字をタブ名にしたタブで切り替えて見せる。
機能の名前は tabs。
手順は 本文を部品で組む。
<!-- tabs: group=os -->
### macOS
macOS の手順。
### Windows
Windows の手順。
<!-- /tabs -->
| 引数 | 説明 |
|---|---|
group=名前 |
タブの組の名前。同じページで同じ組のタブ群は、選んだタブ名を揃え、読む人が選んだタブ名を覚える。省くと組を持たないタブ群になる |
範囲の中で最初に出る見出しの階層で区切り、その見出しの文字がタブ名になる。 タブ名にした見出しは、本文の見出しとして残らない。 組を持たないタブ群は、描いた直後に最初のタブを選ぶ。 組を持つタブ群は、描いた直後に覚えたタブ名のタブを選び、覚えていないかそのタブ名が無いときは最初のタブを選ぶ。 タブは押すか、フォーカスがあるときの左右の矢印・Home・End で選ぶ。
組を持つタブ群の動きは次のとおり。
| 動き | 内容 |
|---|---|
| 揃える | 読む人がタブを選ぶと、同じページの同じ組のタブ群のうち、同じタブ名を持つものを同じタブ名へ切り替える。そのタブ名を持たないタブ群は今の選択のまま |
| 覚える | 読む人が押すかキーで選んだタブ名を、組ごとに localStorage のキー mdmark-tabs:{組の名前} へ残す。描いたときの選択と、揃えて切り替わった選択は残さない。読み直しや update で描き直したときも、覚えたタブ名で選ぶ |
localStorage を取り出す・読み書きするときに例外が出ると、残さず・読まずに、揃える動きと切り替えを続ける。
値の無い group= は組を持たないタブ群にし、group= 以外のキーと キー=値 の形でない指定は当てずに、どれも 書き方の警告 を出す。
印は見えず、見出しと本文が順に並ぶ。
番号付きリストを、番号と項目をつなぐ線を持つ手順に見せる。
機能の名前は steps。
手順は 本文を部品で組む。
<!-- steps -->
1. 依存を入れる。
2. ビルドする。
<!-- /steps -->
なし。 範囲の最初の番号付きリストを手順にする。 項目の中の入れ子の番号付きリストは手順にしない。
印は見えず、普通の番号付きリストとして読める。
罫線で書いたフォルダ構成を、フォルダとファイルの入れ子のツリーにする。
機能の名前は tree。
手順は 本文を部品で組む。
```tree
mdmark/
├── src/
│ └── index.ts
└── package.json
```
なし。
言語 tree のコードブロックに、├──・└──・│ の罫線で書く。
名前の末尾が / の項目か、子を持つ項目をフォルダにし、それ以外をファイルにする。
罫線で書いたコードブロックとして読める。
頭に badge\: を付けた行内のコードを、頭を外した文言の札にする。
機能の名前は badge。
手順は 本文を部品で組む。
この版は `badge:v0.1.0` です。
なし。
頭の後ろの文言が札の文言になる。
札にせず頭ごと見せるときは、頭の : の前に \ を入れて打ち消す。
`badge\:v0.1.0`
打ち消した行内のコードは、\ を外したコードのまま出す。
頭が付いた行内のコードとして読める。
コードブロックに、題・行番号・行の強調を付ける。
行末の印で、行を足した行・消した行・強調に分ける。
言語を書いたコードブロックは、言語に応じて色分けする。
機能の名前は code(設定)。
色分けの機能の名前は syntax(設定)。
手順は 本文を部品で組む。
題・行番号・行の強調は、コードブロックの直前の印に書く。
<!-- code: title=app.ts lines highlight=2,4-6 -->
```ts
import { mount } from "mdmark";
const doc = await fetch("/README.md");
mount(document.querySelector("#doc"), await doc.text());
```
足した行・消した行・強調は、コードの行末の行コメントに印を書く。
```ts
let count = 0; // [\!code --]
let count = 1; // [\!code ++]
count += 1; // 数える [\!code highlight]
```
色分けは、コードブロックの言語を書くだけで付く。 印は要らない。
```yaml
name: mdmark # 名前
version: 1
```
コードブロックの印の直後に、コードブロックを置く。 引数は空白で区切って書く。
| 引数 | 説明 |
|---|---|
title=題 |
コードブロックの上に出す題。ファイル名などを書く。引数は空白で区切るため、題に空白は書けない |
lines |
各行の左に、1 から始まる行番号を出す |
highlight=行,… |
強調する行。2・4-6 のように、行の番号と範囲をコンマで並べる。行の番号はコードブロックの 1 行目が 1 |
title=My App.ts と書くと、題は My になり、空白の後ろの App.ts は使えない指定として 書き方の警告 を出す。
コードの行の印は次のとおり。
| 印 | 行の見え方 |
|---|---|
[!code ++] |
足した行。足した行の色と、行頭の + で分ける |
[!code --] |
消した行。消した行の色と、行頭の - で分ける |
[!code highlight] |
強調する行。強調の色で分ける |
印は行末の行コメントに書く。
印を外した後の行末の空白も外す。
行コメントが印だけのときは、印の直前の行コメントの頭(//・#・--・;・<!-- 〜 -->・/* 〜 */)も外す。
行コメントに印のほかの文字があるときは、その文字を残す。
| 書いた行 | 出る行 |
|---|---|
let count = 1; // [!code ++] |
let count = 1; |
count += 1; // 数える [!code highlight] |
count += 1; // 数える |
印そのものを本文で見せるときは、[ の後ろに \ を入れて打ち消す([\!code ++])。
打ち消した印は行の種類にせず、\ を外した文字のまま出す。
色分けする言語は、コードブロックの情報文字列の最初の語で決める。 語は大文字と小文字を区別しない。
| 言語 | 情報文字列の語 |
|---|---|
| TypeScript | typescript・ts・tsx |
| JavaScript | javascript・js・jsx・mjs・cjs |
| JSON | json |
| YAML | yaml・yml |
| Python | python・py |
| Bash | bash・sh・shell・zsh |
| HTML | html・xml |
| CSS | css |
| Markdown | markdown・md |
| SQL | sql |
言語の無いコードブロックと、この表に無い言語(text など)のコードブロックは、色分けせずに描く。
見え方は次のとおり。
| 項目 | 内容 |
|---|---|
| 題 | コードブロックの枠の上の帯に、ファイルのアイコンと並べて出す。長い題は帯の中で折り返す |
| 行番号 | 各行の左に出す。2 桁以上の行数でも桁を揃える |
| 色以外の見分け | 強調した行・足した行・消した行は、色に加えて行の左端に 2px の線を引く。足した行・消した行は行頭に +・- も出す |
| 印の無い行 | 足した行か消した行を持つコードブロックでは、印の無い行も +・- の幅を空けて、文字の頭を揃える |
| 写す中身 | 行番号と行頭の +・- は、文字を選んで写す中身に入れない |
| 横に長い行 | ブロックの中で横にスクロールし、行の色は最も長い行の右端まで敷く |
| 色 | 強調は --mdmark-color-code-highlight-bg・--mdmark-color-code-highlight-line、足した行・消した行は --mdmark-color-diff-add-*・--mdmark-color-diff-del-*(テーマの CSS 変数) |
| 色分け | キーワード・文字列・数値・型・名前・コメントの 6 種類を色で分け、変数名・引数・記号は本文の色のまま出す。コメントは斜体でも示す。題・行番号・行の種類を持つコードブロックも、行の分け方と行番号・行頭の +・- を保ったまま、行の中身を色分けする。文字を選んで写した中身は、色分けの前と同じ文字 |
| 色分けの色 | --mdmark-color-syntax-keyword・--mdmark-color-syntax-string・--mdmark-color-syntax-number・--mdmark-color-syntax-type・--mdmark-color-syntax-name・--mdmark-color-syntax-comment。ライトとダークの両方を持つ(テーマの CSS 変数) |
| 色分けの読み込み | 色分けのライブラリ(highlight.js)は配布物に含めない。色分けする言語のコードブロックがある文書でだけ、バージョンを固定した URL から本体と使う言語の分を読み、描いた後に色を付ける。読み込み先は設定の syntax.url(設定) |
| 色分けを読めないとき | 本体を読めないときは全てのコードブロックを、言語の分を読めないときはその言語のコードブロックを、色分けせずに残す。コードは欠けず、知らせの枠は出さず、読めなかった URL をブラウザのコンソールに出す |
| 書き出した HTML | 文書が使う言語の分だけを埋め、外へ要求せずに色分けする(文書を書き出す) |
render |
色分けしない。色分けは mount が描いた後に付ける |
| 印刷 | 題・行番号・強調・足した行・消した行・色分けの色と +・- をそのまま出す(印刷する) |
次のコードブロックには、題・行番号・行の種類も色分けも当てない。
tree のコードブロック(ファイルツリー)json のコードブロック(図の部品)<!-- html --> の範囲の html のコードブロック(埋め込んだ HTML)。範囲の外の html のコードブロックは色分けする文書に書いた生の HTML の pre・code は、language-* の class を持っていても色分けしない。
題も行番号も行の種類も持たず、色分けの対象でもないコードブロックは、今までどおりに描く。
code をオフにした文書では、印を取り除いて、題・行番号・行の強調を付けない。
コードの行の印は、書いた文字のまま出す。
syntax をオフにした文書では、色分けのライブラリを読まず、色分けしない。
code と syntax は別々にオン・オフできる。
コードブロックの印は HTML コメントのため見えず、普通のコードブロックとして読める。 コードの行の印は、行末の行コメントとして読める。
印の場所に、h2〜h3 の見出しを階層どおりに入れ子にした目次を置く。
機能の名前は toc。
手順は 本文を部品で組む。
<!-- toc -->
なし。 各項目は、その見出しの ID へのリンクになる。 h4 以降の見出しは載せない。
印は見えず、何も出ない。
見出しに GitHub と同じ規則の ID と、その ID へのリンクを付ける。
機能の名前は anchors。
印は無い。 全ての見出しに付く。
なし。
見出しの文字から ID を作り、同じ ID の 2 つ目からは -1・-2 を付ける。
| 見出し | ID |
|---|---|
Hello, World! |
hello-world |
使い方 |
使い方 |
2 つ目の 使い方 |
使い方-1 |
見出しの ID は、anchors がオフでも付く。
オンのときだけ、見出しの中に ID へのリンクを付ける。
リンクの読み上げの名前は 「{見出しの文字}」へのリンク。
印は無く、普通の見出しとして読める。
見出し(h2〜h4)の節を、見出しから開閉する。
機能の名前は sections。
手順は 本文を部品で組む。
## 補足
<!-- section: closed -->
補足の本文。
| 引数 | 説明 |
|---|---|
closed |
その節を閉じた状態で始める |
open |
その節を開いた状態で始める |
印は見出しの直後に書く。
印を書かない節は開いた状態で始める。
見出しの文字は開閉のボタンになる。
URL の #ID が閉じた節の中を指すとき、またはページ内検索が閉じた節の中に当たったときは、その節を開く。
h1・h5・h6 の見出しは節にせず、ID とアンカーだけを付ける。
印は見えず、節は常に開いている。
表の行の下に、詳細を開閉して出す。
機能の名前は row-details。
手順は 本文を部品で組む。
| 名前 | 値 |
| --- | --- |
| りんご | 10 |
| みかん | 2 |
<!-- row-detail: 2 -->
みかんの詳細。
<!-- /row-detail -->
| 引数 | 説明 |
|---|---|
| 行の位置 | 詳細を付ける表の行。見出し行を除いて 1 から数える |
表の直後に書く。 詳細を持つ行の先頭のセルに開閉のボタンを置き、描いた直後は閉じる。 並べ替えと絞り込みでは、詳細はその行に付いて動く。
印は見えず、詳細の本文が表の後ろに並ぶ。
図と表に、種類ごとの通し番号の題を付け、本文のリンクの文字をその番号にする。
機能の名前は figures。
手順は 図と表に番号を付ける。
<!-- fig: arch -->

本文から [図](#fig-arch) を参照する。
| 引数 | 説明 |
|---|---|
| ID | 図表の id を fig-{ID} にする。本文のリンクは #fig-{ID} で指す |
印の直後の画像の段落と表に番号を付ける。
番号は文書の頭から、図と表で別に数える。
図は下に 図 1 と画像の title、表は上に 表 1 を置く。
本文の #fig-{ID} へのリンクの文字は、その図表の 図 1・表 1 に替わる。
印は見えず、画像と表がそのまま出る。 リンクの文字は書いたままになる。
表の用語・意味・別名の列から用語を入れ、本文に出たその語に意味のツールチップを付ける。
機能の名前は glossary。
手順は 索引と用語集を書く。
<!-- glossary: term=用語 aliases=別名 meaning=意味 -->
| 用語 | 別名 | 意味 |
| --- | --- | --- |
| 印 | マーク、オン・オフの印 | HTML コメントで書く指定 |
<!-- /glossary -->
| 引数 | 説明 |
|---|---|
term=列名 |
必須。用語の列。列名は表の見出しの文字 |
meaning=列名 |
必須。意味の列 |
aliases=列名 |
任意。別名の列。別名のセルは「、」か「,」で区切る。「・」は別名の中の文字として扱う |
avoid=列名 |
任意。やめた言い方の列。セルの区切りは別名と同じ。描いた文書の本文の言い方に波線のマーカーと、その行の用語を代わりの用語にしたツールチップを付け(glossary がオンのとき)、索引の文書の本文に出ると点検が avoided_term で知らせる(点検が返すずれ) |
用語か意味が空の行は飛ばす。
表は表の機能を持つ普通の表として描き、表の中の語には下線を付けない。
索引を渡したときは、ほかの文書の用語集の表から入れた用語も効く(参照の表を作る)。
同じ語が複数あるときは、索引の terms、描く文書の表、ほかの文書の表(索引の docs で先に並ぶ文書)の順に優先する。
同じ語かどうかは、NFKC・英字の小文字化・前後の空白の除去で正規化した後で比べる。
印は見えず、表は普通の表として読める。
範囲の最初の表を項目にして、列ごとに分けたボード表示と、表形式のビューを切り替えて見せる。
表形式のビューは、filter= で指定した列を絞り込める。
機能の名前は views。
手順は ビューとコメントを使う。
<!-- view: group=状態 default=table filter=担当,題:text icons=未着手:inbox -->
| 題 | 状態 | 担当 |
| --- | --- | --- |
| 配色の変数を洗い出す | 未着手 | 佐藤 |
| 余白の変数を決める | 進行中 | 鈴木 |
<!-- /view -->
範囲の最初の表の見出しの行が列名、本文の行が項目、セルの文字が値になる。
| 引数 | 説明 |
|---|---|
group=列名 |
ボード表示で列に分ける列名。表の見出しの文字で書く。省くと、切り替えを置かず、表形式のビューだけを描く |
default=board / default=table |
描いた直後に出すビュー。省くと、group= があればボード表示 |
filter=列名:種類,… |
表形式のビューで絞り込みを付ける列と種類。書き方は 表 の filter= と同じ(種類は select・text・date で、省くと select) |
icons=値:アイコンの名前,… |
ボードの列の見出しのアイコンを、group= の列の値ごとに上書きする |
ビューの動きは次のとおり。
| 項目 | 動き |
|---|---|
| 切り替え | ビューの頭の「ボード」「表」のボタンで切り替える。今のビューは aria-pressed で示す |
| ボード表示 | group= の列の値ごとの列を、表に出た順に横に並べる。列の見出しにアイコン・値・項目の数を出す。項目は表の行の順に並び、先頭の列の値が題になり、group= の列を除く残りの列を列名と値の組で出す。空の値は出さない。幅に収まらない列はボードの中で横にスクロールする |
| 表形式 | 範囲の表をそのまま使い、表 の並べ替えと、filter= の列にだけ同じ絞り込みを付ける |
| 絞り込み | 表形式にだけ当てる。ボード表示は常に全ての項目を出し、表形式に戻すと絞り込みは残っている。ビューの上に、検索欄と件数は置かない |
| 印刷 | 今のビューを出し、切り替えと絞り込みのボタンは出さない |
ボードの列の見出しのアイコンは lucide のもの。
既定の対応は、未着手 が circle-dashed、進行中 が circle-dot、保留 が circle-pause、完了 が circle-check、中止 が circle-x、対応に無い値が circle。
使えるアイコンは、この 6 つと inbox・archive・clock・flag・star・bug・eye・lock・zap・ban。
アイコンは読み上げに含めず、列の見出しは値と項目の数だけが読み上げられる。
印は見えず、範囲の表は普通の表として読める。
views がオフのときも同じ。
範囲に置いた部品の定義(JSON)から、図と操作できる部品を描く。
機能の名前は diagrams。
手順は 図を描く と 操作できる部品を作る。
<!-- chart -->
```json
{
"title": "返信までの時間",
"scope": "10 月の第 2 週",
"updated": "2026-10-18",
"x": { "label": "曜日", "ticks": ["月", "火", "水", "木", "金"] },
"y": { "label": "分", "min": 0, "max": 60, "step": 15 },
"series": [{ "name": "自動返信", "points": [12, 9, 14, 8, 10] }]
}
```
<!-- /chart -->
印に引数は無い。
範囲に言語 json のコードブロックを 1 つだけ置く。
| 印 | 描くもの | 定義の型 |
|---|---|---|
flow |
フロー図。システムの枠と 3 層、箱と線を定義の座標に置く | MdmarkFlowDefinition |
sequence |
シーケンス図。相手を左から右へ、メッセージを上から下へ並べる | MdmarkSequenceDefinition |
chart |
折れ線・棒・円・散布図のグラフ。系列は 4 つまで | MdmarkChartDefinition |
param |
スライダー・今の値を写すボタン・グラフを組み合わせた操作できる部品 | MdmarkParamDefinition |
定義の項目:
| 印 | 項目 |
|---|---|
| 共通 | title(題名)・scope(範囲)・updated(更新日。YYYY-MM-DD)。param は title と knob・chart・table |
flow |
width・height・frame・lanes・nodes・wires。箱は kind(llm・dm・script・mcp・data・external)、線は line(flow・read・write・reply・loop)と端の箱の from・to |
sequence |
participants・steps・loop。steps の reply が true のメッセージは返す線 |
chart |
type(line・bar・pie・scatter。省くと line)・x(label・ticks)・y(label・min・max・step)・series(name・points)。line・bar の points の数は x.ticks と同じ。scatter の points は [x, y] の組で、x に ticks を書かない。pie は x・y・series の代わりに items(name・value)と、凡例の値の単位 unit を書く。y の min・max・step は 3 つとも書くか 3 つとも省き、省くとデータから切る |
param |
knob(key・label・min・max・step・value)・chart(グラフの題と軸)・table(スライダーの値ごとの点) |
型は dist/index.d.ts に書き出して配布物と一緒に配る。
描いた図は figure.mdmark-diagram で、data-diagram が印の名前になる。
範囲のコードブロック以外の Markdown と、定義の JSON は描いた文書に残らない。
見た目の決まりは 構成図の決まり と フローチャートの決まり。
印は見えず、定義が json のコードブロックのまま読める。
diagrams がオフのときも同じ。
同じ名前の拡張を registerExtension で登録していると、拡張を優先して図の部品は描かない。
範囲に置いた html のコードブロックの中身を、コードではなくその場の HTML として描く。
中に置いた図の部品の custom element は、図にして描く。
機能の名前は html。
手順は コードブロックのHTMLを描く。
<!-- html -->
```html
<div style="display: flex; gap: 12px">
<div style="padding: 12px">受け取り</div>
<div style="padding: 12px">分類</div>
</div>
<mdmark-chart>
{
"type": "pie",
"title": "返信の種類の割合",
"scope": "10 月の第 2 週",
"updated": "2026-10-17",
"unit": " 件",
"items": [
{ "name": "よくある質問で答えた", "value": 186 },
{ "name": "担当者へ回した", "value": 92 }
]
}
</mdmark-chart>
```
<!-- /html -->
印に引数は無い。
範囲に言語 html のコードブロックを 1 つだけ置く。
| 項目 | 内容 |
|---|---|
| 描き方 | コードブロックの中身を <div class="mdmark-html"> の中に HTML として描く。範囲のコードブロック以外の Markdown は、描いた文書に残らない。範囲の外の html のコードブロックはコードのまま出る |
| 落とすもの | script 要素・on で始まる属性・javascript: の URL。button は type="button" に固定して残し、押しても何も起きない。style は一部の宣言だけが残る(埋め込んだ HTML で残るもの) |
| 図の部品 | <mdmark-flow>・<mdmark-sequence>・<mdmark-chart>・<mdmark-param> の中の JSON を、flow・sequence・chart・param と同じ定義として読み、同じ図に置き換える。要素の属性は読まない。diagrams がオフのときは、要素を中身ごと落とす |
| 用語 | 中の文章にも、本文と同じ用語と文書の別名の下線とツールチップを付ける |
| 横幅 | 幅が本文の列より広い間だけ、中で横にスクロールする |
| 拡大・縮小 | 中の図の部品だけに付く。部品でない HTML には付けない |
印は見えず、html のコードブロックがコードのまま読める。
html がオフのときも同じ。
埋め込んだ HTML の要素に data-hint を書くと、その文をツールチップで出す。
機能の名前は hints。
手順は コードブロックのHTMLを描く。
<div data-hint="返信の種類を 1 つ選ぶ">分類の結果</div>
<p>問い合わせは <span data-hint="本文を読んで返信の種類を決める処理">分類</span> してから返す。</p>
| 項目 | 内容 |
|---|---|
data-hint |
ツールチップに出す文。文字として出し、Markdown として読まない |
| ブロックの要素 | 右上に情報のアイコンを付け、アイコンの上でだけ開く。要素の上では開かない |
| 行内の要素 | span・a・abbr・b・strong・em・i・code・small・mark・sub・sup・time・kbd・q・s・u。破線の下線を付け、要素そのものの上で開く |
ホバーとフォーカスの両方で開き、Esc で消え、ツールチップの上に乗っても消えない。
ポインターの形は変わらない。
図の部品の定義の箱の hint と io、線の tip も、同じ見た目のツールチップで出る。
hints をオフにすると、data-hint・hint・io・tip のツールチップの中身と印を出さない(線のラベルと箱の名前は出す)。
html のコードブロックがコードのまま読めるため、data-hint は書いたまま読める。
hints がオフのときは、埋め込んだ HTML は描かれ、data-hint の文は出ない。
使う側が registerExtension で足した印を、その拡張のモジュールが描く。
手順は 拡張を登録する。
<!-- greet: world lang=ja -->
引数は、拡張が登録した directive の印に書く。
キー=値 でない引数を書いた順に args、キー=値 を keys にして、拡張の schema が検査し、draw が受け取る。
文書にその印があるときだけ、拡張のモジュールを読む。
印を範囲(<!-- greet --> 〜 <!-- /greet -->)で書き、範囲に言語 json のコードブロックを 1 つ置くと、その JSON を読んだ値が definition として schema と draw に渡る。
印は見えない。
記法の印に読めない指定を書いても、本文の描画は止まらない。
読めた指定だけを当てて描き、読めない指定とその直し方を、その箇所に題 書き方の警告 の枠で出す。
次の場合に警告が出る。
+機能・-機能・キー・値を書いた(表に無い列名・知らない絞り込みの種類・知らない集計の計算・hide= の先頭の列・+total の無い表の total=・+columns の無い表の hide= を含む)group=・group= 以外のキー・キー=値 の形でない指定を書いた(値の無い group= は組を持たないタブ群にする)キー=値 の形でない指定(題の空白の後ろを含む)・読めない highlight= の番号・コードブロックに無い行の番号を書いた(読めた指定だけを当てて描く。無い行の番号の警告には、コードブロックの行の数を書く)[!code focus] など)を書いた(その行には当てず、書いた文字のまま描く)schema に合わないhtml のコードブロックが無い・2 つ以上ある(範囲の中身はそのまま描く)term=・meaning= が無い、または指した列名が表に無い(この表からは用語を入れずに描く)group= や filter= の列が表に無い、filter= の種類が select・text・date でない、icons= に使えないアイコンの名前がある、知らないキーを書いた(group= の列が表に無いときはボードにせず表形式で描き、それ以外は読めた指定だけを当てる)features の印の知らない機能名は、知らせずに無視する。
外部ライブラリや拡張のモジュールを読めない印の場所は、書き方の警告ではなく 知らせの枠 に替わる。