总览›第 V 部 · 双链
§5.1目标可以写什么
目标不必是笔记的 id。解析按顺序依次尝试:当前语言的镜像——本页十七个姐妹版本上的同一个链接,各自落到目标的同语言版本,目标没有镜像时才落回正主——然后是精确的 id,再往后是别名、brand 与标题,一律不分大小写。别名的现场演示在英文正主那边:那篇园艺随笔声明了别名 tending,在英文页上写 [[tending]] 就到达那一页;别名只属于声明它的那一篇、镜像并不继承,所以这里用 同一页 的真实链接代劳。锚点与自定义文本按直觉组合:[[garden-craft#pruning]] 直达一个小节,[[garden-craft|园艺随笔]] 渲染自定义文本——两者还可以并用。
§5.2死链不弄红构建
指向不存在笔记的链接,渲染成肉眼可见的死链标记,原因写在悬停提示里,构建只记一条警告。这对园地是有意的设计:还没写出来的笔记是一份邀请,不是一处错误。一个目标同时命中多篇笔记,也这样渲染,标为有歧义。链接腐坏终究该在 CI 里现形——引擎的 check-wikilinks 命令行用库自己的规则把每个双链解析一遍,加 --strict 后死链变成非零退出;本仓库正是这么跑的(五道检查)。
§5.3一份实现,四个消费者
页面、编辑器的实时预览、收件箱导入器和 CI lint 用同一份代码解析——同一个链接在哪儿都是同一个意思,编辑器因此可以大方一点:编辑模式下敲出 [[,就弹出基于 id、标题与别名的自动补全。