.md 拡張子の除去
ビルド時に内部リンクの href から .md または .mdx の接尾辞を取り除く、opt-in のトップレベル設定。
stripMdExt は opt-in のトップレベル zfb.config.ts フィールドであり、markdown.features entry ではありません。デフォルトは false です。省略した場合、または false に設定した場合、著者が書いた .md / .mdx href は保持されます。
有効にすると、StripMdExtensionPlugin は内部リンクの href 値から .md または .mdx の接尾辞を取り除き、末尾に / を付けます。これにより、[page](. のように記述したリンクは . のようなクリーンな出力 URL を生成します。
何をするか
hast フェーズで、プラグインはすべての <a> 要素をたどります。path が .md または .mdx で終わる各内部リンクに対して:
拡張子を取り除く。
取り除いた path に末尾の
/を付ける。クエリ文字列とフラグメントを slash の後に保持する。
プラグインが手を加えるのは内部の相対パスとルート相対パスです。絶対 URL(https:)、アンカーのみのリンク(#section)、リンク以外の要素、Markdown 以外のファイル拡張子を持つ href は変更されません。trailing-slash モードでは、. や . のような拡張子なしの相対 href も .、. になります。
設定
トップレベルで有効化します:
import { defineConfig } from "zfb/config";
export default defineConfig({
stripMdExt: true,
});両方が設定されている場合、プラグインは ResolveLinksPlugin の後に実行されます。そのため、残っている Markdown 拡張子を cleanup する前に、すでに解決済みのパスを参照します。
例
See [setup](./installation.mdx#requirements) for details.stripMdExt: true の場合、次を生成します:
<p>See <a href="./installation/#requirements">setup</a> for details.</p>stripMdExt: false または config field 省略時は、著者が書いた . href が保持されます。
関連項目
リンク解決 — このプラグインの前に実行され、 参照先のパスを正規化する。