zfb
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

ルビ注釈

Opt-in
作成 2026年6月24日Takeshi Takatsudo

キャレット構文でルビ(ふりがな)注釈を描画する — {base}^{ruby} または base^{ruby}。

ruby 機能は、キャレット構文のインライン注釈をパースし、 <ruby><rb>base</rb><rt>ruby</rt></ruby> HTML として描画します — これは 日本語のふりがなのような音声注釈の標準的なマークアップです。

有効化

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

主要構文 — キャレット

キャレット形式には 2 つの書き方があります:

波括弧付きのベース

両側を {…} で囲み、その間に ^ を置きます:

{これは}^{これ}

次のように描画されます:

<ruby><rb>これは</rb><rt>これ</rt></ruby>

どんなベーステキストでも動作します — 非 ASCII のルール(後述)は波括弧形式には 適用されない ため、{ABC}^{xyz} も有効です。

波括弧なしのベース

ベースを囲む波括弧を省略します — キャレットは直前のテキストの連なり全体を ベースとして取り込みます:

これは^{これ}

次のように描画されます:

<ruby><rb>これは</rb><rt>これ</rt></ruby>

波括弧なし形式には非 ASCII のベースが必須。 波括弧なし形式は ASCII の 上付き文字(2^{n}x^{i})と AST の形を共有するため、パーサーは誤検出を 防ぐガードを適用します。ベースの連なりには少なくとも 1 つの非 ASCII 文字が 含まれていなければなりません。CJK/かなのベースは問題ありませんが、ASCII のみの ベースはそのまま残されます。ASCII のベースには波括弧形式を使ってください。

1 つの段落に複数の注釈を含めることがサポートされています:

{日本語}^{にほんご}を{学ぶ}^{まなぶ}
<ruby><rb>日本語</rb><rt>にほんご</rt></ruby><ruby><rb>学ぶ</rb><rt>まなぶ</rt></ruby>

レガシーエイリアス — パイプ構文

以前のバージョンのパイプ構文は、後方互換性のために残されています:

{漢字|かんじ}を{学ぶ|まなぶ}

次のように描画されます:

<ruby><rb>漢字</rb><rt>かんじ</rt></ruby><ruby><rb>学ぶ</rb><rt>まなぶ</rt></ruby>

新しいコンテンツにはキャレット構文を使ってください。パイプ形式も同一の出力を生成し、 今後もサポートされ続けますが、もはや主要構文ではありません。

エッジケース

キャレット形式のエッジケース(パイプ形式でも両形式が同様に扱われます):

  • {これは}^{これ}<ruby> 要素

  • 2^{n}x^{i}(ASCII の波括弧なしベース)→ そのままリテラルテキストとして残る

  • {base}^{}(空の注釈)→ そのままリテラルテキストとして残る

  • ^{ruby}(ベースなし)→ そのままリテラルテキストとして残る

スコープの制限 — 自動ふりがなはなし

この機能は、明示的なキャレット/パイプ構文を のみ パースします。形態素解析 (例: kuromoji 方式のセグメンテーション)によって漢字を自動検出してふりがなを 付与することは しません。自動的なふりがな付与は、別の、はるかに難しい問題であり、 意図的にスコープ外としています。

自動ふりがなが必要な場合は、それ専用の別機能が必要になります。

Revision History

Takeshi Takatsudo作成: 2026-06-25T05:17:25+09:00更新: 2026-06-25T05:17:25+09:00

AI Assistant

Ask a question about the documentation.