Link Validation
ビルド時に内部リンクを検証し、壊れた参照に警告(またはエラー)を出します。
linkValidation 機能は、デプロイ前に壊れた参照を検出するため、ビルド時に内部リンクとアンカーフラグメントを検査します。<a href> と <img src> 要素を調べ、内部リンクとアンカーフラグメントが正しく解決されることを検証します。
標準プリセットに含まれます — warn モード
zudoDoc() は linkValidation: { failOnBroken: false } として Link Validation を有効にします — warn モードです。このデフォルトに個別の設定フィールドは不要です。warn モードではビルドを失敗させることはなく、壊れた参照はビルド診断としてのみ報告されます。
設定
このデフォルトを得るのに設定は不要です。
import { defineConfig } from "zfb/config";
import { zudoDoc } from "@takazudo/zudo-doc/config";
export default defineConfig(
zudoDoc({
siteName: "My Docs",
}),
);代わりに壊れたリンクでビルドを失敗させる場合(zudo-doc では未使用 — CI を壊すため)は、プリセットの markdown.features をスプレッドして linkValidation を上書きします — 素の defineConfig({ markdown: { features } }) はプリセットの残りの部分を破棄してしまいます。
const base = zudoDoc({
// ...your project settings
});
export default defineConfig({
...base,
markdown: {
...base.markdown,
features: {
...base.markdown.features,
linkValidation: { failOnBroken: true },
},
},
});オプション
| オプション | デフォルト | 説明 |
|---|---|---|
failOnBroken | false | true の場合、壊れたリンクは Error 診断を生成しビルドを失敗させます。false の場合は警告のみです。 |
以前の zfb リリースには allowExternal オプションが存在しましたが、一度も効果を持ったことがなく、zfb 0.1.0-next.38 で削除されました。設定に残っている場合は削除してください。
検証対象
素のアンカーフラグメント(
#section-id)— 現在のファイル内の見出し ID と照合。アンカーなしのファイルリンク(
.)— 対象ファイルが存在する必要があります。/ other. md アンカー付きのファイルリンク(
.)— ファイルと見出し ID の両方が解決される必要があります。zfb/ other. md# section- id 0.1.0-next.38以降、アンカーはファイルの存在だけでなく対象ファイルの実際の見出し(トランスクルードされた見出しを含む)と照合されます。バンドラーが走査するディレクトリの外にある対象は、存在チェックのみにフォールバックします。
外部 URL(http:、https:、mailto:、tel:)は常にスキップされます。
resolveMarkdownLinks との関係
zudo-doc はすでに zfb の resolveMarkdownLinks を onBrokenLinks: "warn" で実行しており、相対パスの .mdx/.md リンクをクリーンなルート URL に解決し、壊れたファイルリンクに警告を出します。このコーパスでは、warn モードの linkValidation はそれを超える区別可能な出力を生成しません — 壊れたファイルリンクは resolveMarkdownLinks を通じて表面化し、どちらの設定もビルドを失敗させません。両者は補完的なビルド時リンクチェックであり、いずれも warn モードに保たれているため、紛れ込んだ壊れた参照がデプロイを妨げることはありません。