**Heading Marker TOC** 機能は、設定したマーカー文字列に一致する最初の見出しの直後に、ネストされた目次をページ本文へ直接挿入します。フローティングのサイドバー TOC とは異なり、こちらはコンテンツの流れの中にインラインで存在するため、マーカー見出しを置いた場所にちょうど表示されます。

:::note Opt-in 機能

`zfb.config.ts` の `headingMarkerToc` キーで有効化します。デフォルト設定なら `true`、カスタム設定ならオプションオブジェクトを指定します。

```ts
// zfb.config.ts
export default defineConfig({
  markdown: {
    features: {
      headingMarkerToc: true,
    },
  },
});
```

:::

## トリガーの仕方

この機能は**トリガー方式**です。ドキュメント内にマーカーと一致する見出しがない限り、何も出力されません。デフォルトのマーカーは `TOC`（大文字小文字を区別せずに一致）です。インラインのリストを表示したい場所に、そのテキストの見出しを追加します。

```md
## TOC
```

すると、何かを置き換えるのではなく、マーカー見出しの直後に、後続のすべての見出し（設定した深さの範囲内）へのリンクからなる `<ul>/<li>` リストを挿入します。

## ライブデモ

以下の `## TOC` 見出しがマーカーです。このページにはその後に複数の h2 セクションがあるため、機能はそれらのセクションへのリンクリストをここに挿入します。

## TOC

## 背景セクション

最初にリストされるセクションの本文です。

## 設定オプション

オプションオブジェクトとして渡すと、2 つのオプションを受け付けます。

| オプション | デフォルト | 説明                                                       |
| ---------- | ---------- | ---------------------------------------------------------- |
| `heading`  | `"TOC"`    | プラグインが探すマーカーテキスト（大文字小文字を区別しない）。 |
| `maxDepth` | `2`        | h2 から数えて含める見出しのレベル数（最大 5）。              |

```ts
// zfb.config.ts — カスタムマーカーと深さ
headingMarkerToc: {
  heading: "Contents",
  maxDepth: 3,
},
```

## 出力と処理順

生成されるリストは、フラグメント識別子（例: `#background-section`）を指す `<a>` タグ付きの `<ul>/<li>` 要素を出力します。これらの ID は、先に実行される Core の Heading Links パスが作る重複排除済みスラッグです。そのため、アンカーは常にリンク先の見出しと一致します。ID は zudo-doc の[階層 ID 規約](https://zudo-doc.takazudomodular.com/ja/docs/markdown-features/heading-links#%E9%9A%8E%E5%B1%A4-id)に従うため、ネストした見出しのアンカーは祖先プレフィックス付きになります（例: `#overview-background-section`）。

## メモ

- これは常時有効な Core 機能の [Heading Links](https://zudo-doc.takazudomodular.com/ja/docs/markdown-features/heading-links)（見出しにアンカーマーカーを付けるだけ）や、zudo-doc のフローティングサイドバー TOC アイランドとは別物です。Heading Marker TOC は、マーカー見出しによって駆動されるオプトインの**インライン**リストです。
- ページにマーカーと一致する見出しがない場合、この機能は何も出力しません。これは失敗ではなく想定どおりの動作です。