コンテンツにスキップ
Blume
日本語
Esc
移動開く⌘Jプレビュー
このページの内容

検証

blume validate はコンテンツ内のすべてのリンク(ページ、アンカー、アセット、オプションで外部 URL)をチェックし、壊れたリンクがあれば CI を失敗させます。

blume validate はビルドと同じ方法でコンテンツを読み込み、見つかったすべてのリンクをチェックします。何も生成・ビルドしないため、blume build の前に置く高速なゲートとして使えます。

blume validate
  • 内部ページリンク/guides/intro./sibling)は、実在するページに解決される必要があります。壊れたリンクはエラーとして報告されます。コンポーネントの文字列の href<Card href="./install">)も同じようにチェックされますが、href={…} 式はチェックされません。
  • アンカーリンク#section/guides/intro#setup)は、リンク先ページのアンカーと一致する必要があります。アンカーとは、見出しの id(自動生成されたもの、または固定したもの)か、生の HTML 要素の id 属性のことです。一致しないものは警告として報告されます。コードブロック、インラインコード、HTML コメント、<Prompt> ブロック内の id は対象外です。
  • アセットリンクは、ファイルの置き場所に応じてチェックされます。絶対パス(/logo.png)は public/ ディレクトリを基準に、相対パスの画像埋め込み(![](./diagram.png))はそのページ自身のフォルダーを基準にチェックされます。相対パスへの通常のリンクは、引き続きサイトのルートとして解決されます。画像パイプラインを通るのは画像埋め込みだけです。
  • 外部リンク--external を指定した場合にのみチェックされます(ネットワークが必要なため、デフォルトではオフです)。リンク切れ(404/410/到達不能)はエラーになり、レート制限や一時的なレスポンス(403/429/5xx/タイムアウト)は警告になります。

ページとして扱われるもの

リンクは Markdown ページだけでなく、ビルドされたサイトが配信するすべてのものに対して解決されます。対象には、カスタムの .astro ページ、生成された変更履歴のインデックス、設定されたすべてのリダイレクトが含まれます。多言語サイトでは、未翻訳ページが各ロケールで使うフォールバック URL も含まれます。パースに失敗したページは、リンクの検出結果と一緒に報告されます。読み込まれないページは問題のない結果ではなく、リンク検証の死角になるためです。

フラグ

  • --external — 外部の http(s) リンクもネットワーク経由でチェックします。
  • --strict — 警告があった場合も 0 以外のコードで終了します。info レベルの通知は、引き続き参考情報として扱われます。
  • --json — 診断結果をターミナル向けのレポートではなく、JSON として stdout に出力します。

診断

コード 重大度 意味
BLUME_BROKEN_LINK error 内部リンクが、どのページも配信していないルートを指しています。
BLUME_BROKEN_ANCHOR warning ページは存在しますが、フラグメントに一致するアンカーがありません。
BLUME_BROKEN_ASSET warning 絶対パスのファイルが public/ に存在しないか、相対パスで埋め込んだ画像がページと同じフォルダーにありません。
BLUME_ASSETS_UNCHECKED info public/ ディレクトリがないため、絶対パスのアセットはチェックされませんでした。
BLUME_DEAD_LINK error または warning 外部リンク(--external 指定時)が 404/410 を返したか到達不能だった(error)、または一時的な 403/429/5xx/タイムアウトだった(warning)ことを示します。

判定の基準になるのは終了コードです。エラーがあると 0 以外のコードで終了し、--strict を指定すると警告でも同様に終了します。

JSON 出力

--json を指定すると、blume validate(および blume doctor)は 1 つのオブジェクトを stdout に書き出します。このオブジェクトには、diagnostics リストと、重大度ごとの件数をまとめた summary が含まれます。diagnostics の各エントリには、codeseveritymessagesuggestion、そのコードを説明するページを指す docsUrl、そしてプロジェクトルートからの相対パスである file が含まれます。検出結果に位置情報がある場合は、linecolumn も含まれます。終了コードは変わらないため、同じ呼び出しを CI のゲートとエディター連携の両方に使えます。

最終更新 2026年9月24日

このページは役に立ちましたか?