ウィキリンクはどう解決されるか
ノート同士は二重ブラケットでリンクし合い、ビルド時に、実際に存在するノートの集合に対して解決されます。描画された結果——id、別名、ラベル、アンカー——は全部入りデモで実演中です。この章は、その裏側にある解決規則の話です。
§5.1ターゲットになれるもの
ターゲットはノートの id でなくてもかまいません。解決は次の順に試みられます:現在のロケールのミラー(このページの十七の姉妹版のどれかに書かれたリンクは、ターゲットの同じ言語の版に着地し、ミラーが無いところでだけ原本のノートに落ちます)、次に厳密な id、それから別名、brand 名、タイトル——大文字小文字は区別しません。エッセイ garden-craft は原本で tending を別名として宣言しているので、[[tending]] は同じページに着地します(別名を宣言するのは原本だけで、ミラーは持ちません)。アンカーとラベルは期待どおりに組み合わせられます:[[garden-craft#pruning]] はセクションへ直行し、[[garden-craft|the gardening essay]] は好きなテキストを描画します——そして二つは併用できます。
§5.2死リンクはビルドを壊さない
存在しないノートへのリンクは、理由をツールチップに携えた、見るからに死んだリンクとして描画され、ビルドは警告をログに残します。これは庭のための意図的な選択です:まだ書かれていないノートは、エラーではなく招待だからです。複数のノートに同時に一致するターゲットも同じ姿で描画され、曖昧の印が付きます。それでもリンクの腐敗は CI の持ち場です——エンジンの check-wikilinks CLI はライブラリ自身の規則ですべてのリンクを解決し、--strict モードでは死リンクを失敗の終了コードに変えます。このリポジトリはそう走らせています(五つのチェック)。
§5.3一つの実装、四つの消費者
ページ、エディタのライブプレビュー、受信箱のインポータ、そして CI の lint は、同じコードで解決します——だからリンクはどこでも同じ意味を持ち、エディタは気前よくいられます:編集モードで [[ と打てば、id・タイトル・別名を横断する自動補完が立ち上がります。