Як розв’язуються вікіпосилання
Нотатки посилаються одна на одну подвійними дужками, і ці посилання розв’язуються під час збірки по множині нотаток, які справді існують. Відрендерені результати — id, псевдонім, підпис, якір — виступають наживо в демонстраційному стенді; цей розділ — про правила розв’язання, що стоять за ними.
§5.1Чим може бути ціль
Ціль не зобов’язана бути id нотатки. Розв’язання пробує по черзі: дзеркало поточної мови (посилання на одному з сімнадцяти сестринських видань цієї сторінки веде на видання цілі тією самою мовою і лише там, де дзеркала немає, відступає до канонічної нотатки), далі точний id, далі псевдоніми, бренди й заголовки — без урахування регістру. Есей про майстерність малого саду оголошує псевдонім tending, тож посилання [[tending]] веде на ту саму сторінку. Якорі й підписи складаються так, як і хочеться: [[garden-craft#pruning]] веде просто до підрозділу, [[garden-craft|есей про садівництво]] рендерить власний текст — і обидва прийоми можна поєднати.
§5.2Мертві посилання не валять збірку
Посилання на нотатку, якої не існує, рендериться помітно мертвим посиланням із причиною у спливній підказці, а збірка пише попередження. Для садів це свідомий вибір: ненаписана нотатка — запрошення, а не помилка. Ціль, що збігається з кількома нотатками одразу, рендериться так само, з позначкою неоднозначності. Гниттю посилань усе одно місце в CI — CLI рушія check-wikilinks розв’язує кожне посилання правилами самої бібліотеки і в режимі --strict перетворює мертві посилання на ненульовий код виходу; саме так його запускає цей репозиторій (п’ять перевірок).
§5.3Одна реалізація, чотири споживачі
Сторінки, живий передперегляд редактора, імпортер вхідних і лінт CI розв’язують одним і тим самим кодом — тож посилання означає одне й те саме всюди, а редактор може дозволити собі щедрість: наберіть [[ у режимі редагування, і випливе автодоповнення по id, заголовках і псевдонімах.