参考编辑机常青更新 2026.08阅读约 1 分钟
总览第 V 部 · 双链
第 V 部 · 双链

双链如何解析

笔记之间用双方括号互相链接,构建期对着真实存在的笔记集解析。渲染出来什么样——id、别名、自定义文本、锚点——在全要素演示里现场表演;这一章讲的是它们背后的解析规则。

§5.1目标可以写什么

目标不必是笔记的 id。解析按顺序依次尝试:当前语言的镜像——本页十七个姐妹版本上的同一个链接,各自落到目标的同语言版本,目标没有镜像时才落回正主——然后是精确的 id,再往后是别名、brand 与标题,一律不分大小写。别名的现场演示在英文正主那边:那篇园艺随笔声明了别名 tending,在英文页上写 [[tending]] 就到达那一页;别名只属于声明它的那一篇、镜像并不继承,所以这里用 同一页 的真实链接代劳。锚点与自定义文本按直觉组合:[[garden-craft#pruning]] 直达一个小节,[[garden-craft|园艺随笔]] 渲染自定义文本——两者还可以并用。

§5.2死链不弄红构建

指向不存在笔记的链接,渲染成肉眼可见的死链标记,原因写在悬停提示里,构建只记一条警告。这对园地是有意的设计:还没写出来的笔记是一份邀请,不是一处错误。一个目标同时命中多篇笔记,也这样渲染,标为有歧义。链接腐坏终究该在 CI 里现形——引擎的 check-wikilinks 命令行用库自己的规则把每个双链解析一遍,加 --strict 后死链变成非零退出;本仓库正是这么跑的(五道检查)。

§5.3一份实现,四个消费者

页面、编辑器的实时预览、收件箱导入器和 CI lint 用同一份代码解析——同一个链接在哪儿都是同一个意思,编辑器因此可以大方一点:编辑模式下敲出 [[,就弹出基于 id、标题与别名的自动补全。

搜标题、小节与正文,本语言内检索。
    ↑↓ · Enter · Escastro-inkstone