搜索博客与维基

技术/写作

双链

维基词条之间用双方括号互相引用,被引用的页面会自动列出反向链接。

2 分钟阅读别名:wikilink、维基链接、wiki链接

双链(wiki link)是用双方括号写的一种内部链接,最早来自维基百科的写法。它和普通 Markdown 链接的区别是不需要写路径:只写目标的名字,系统自己去解析。

三种写法

写法效果
[[Astro]]链接到标题为 Astro 的词条,显示文字就是「Astro」
[[Astro|那个框架]]链接到 Astro,但显示成「那个框架」
[[Astro#常用命令]]链接到 Astro 页面里的某一节

名字是怎么匹配上的

只写 [[内容集合]] 的时候,程序需要知道「内容集合」对应哪个文件。这个站的做法是建一张索引表,键包括:

  • 词条的标题:内容集合
  • 文件名:content-collections
  • 别名(frontmatter 里的 aliases):Content Collections、content collections

匹配前会统一处理大小写和空白,所以 [[Content Collections]] 和 [[content collections]] 指向同一个词条。

别名是干什么的

同一个概念常有好几种叫法。中文读者写成「双链」,英文写法是 wikilink,代码里又叫 wiki link。如果只让标题能匹配,写别的时候就找不到。

别名把这些叫法都登记上,写哪个都能连过去,但它们最终指向同一个词条。这样就不用为了迁就链接而把标题改成四不像。

反向链接

双链真正的价值不在「能点过去」,在于「能收回来」。A 页面写了 [[B]],那么 B 页面底部会自动列出「A 引用了这里」。

好处是:你不需要维护任何目录。想到哪写到哪,链接织起来之后,某个概念被谁提到过自己就浮出来了。

指错了会怎样

指向不存在的词条时,链接不会消失,而是变成虚线样式,悬停显示「还没有这个词条:xxx」。

这个设计是故意的:它同时是一份待办清单。 翻页面时看到虚线,就知道这里有个概念值得补一个词条。比维护一份写在别处的 TODO 更不容易忘。

和普通链接的关系

双链只是写起来省事的内部链接。需要指向站外、指向图片、指向具体网址时,还是用标准的 Markdown 链接语法:

[Astro 官网](https://astro.build/)