CJK Friendly
中国語・日本語・韓国語(CJK)の文字に隣接するボールドとイタリックの解析を改善します。
Core 機能 — 常に有効です。設定は不要です。
概要
CJK Friendly は、CommonMark/GFM のルールを CJK テキストに適応させる 2 つの後処理フィックスアップを管理します。
強調(ボールド/イタリック)のフランキング。 CommonMark の強調フランキングルールは、CJK 文字(漢字・かな)を空白でも句読点でもない文字として扱います。その結果、中国語・日本語・韓国語の文字に隣接した
**bold**や_italic_マーカーが、フォーマット区切り文字ではなくリテラルのアスタリスクやアンダースコアとして解析されてしまいます。このフィックスアップは markdown の AST を後処理し、CJK コンテンツに対して強調ルールを再トークナイズします。これにより、漢字やかなに隣接したボールドとイタリックが正しく機能します。裸 URL のオートリンク境界。 GFM のオートリンクリテラル文法は、裸 URL を ASCII の空白でしか終端しません。そのため CJK テキストに直接隣接した URL(
詳細はhttps:)は、後続の CJK 文字列を/ / example. com参照 hrefに取り込んでしまいます。このフィックスアップは、最初の CJK 文字でリンクを終端させます。gfm.autolinkLiteralが有効な場合にのみ適用されますが、zfb 2.5.0 以降はオートリンクリテラルが GFM の保守的デフォルトに含まれるため、デフォルトで有効です。
例
以下は日本語テキストに隣接した強調マーカーが正しくレンダリングされる例です。
これは **重要な** テキストです。
_イタリック_ も正しく機能します。CJK テキストに直接隣接した裸 URL も、正しい境界で終端します(gfm.autolinkLiteral が有効な場合)。
詳細はhttps://example.com参照してください。このフィックスアップがない場合、後続の 参照してください。 がリンクの href に取り込まれてしまいます。
無効化
CommonMark の厳密な準拠が必要な場合に限り、zfb.config.ts でこの機能を無効にできます。
export default defineConfig({
markdown: {
cjkFriendly: false,
},
});cjkFriendly を省略した場合(デフォルト)は機能が有効です。
補足
GFM の取り消し線(
~~text~~)は markdown-rs が独立して処理するため、この設定の影響を受けません。この機能はベースパーサーを変更せず、AST ポストプロセッサーとして動作します。