链接与内链

2026-06-19

站点里的页面跳转,推荐优先用内链 [[...]]——在预览与导出时由发布系统解析为最终 URL,而不是手写相对路径。内链用于正文互引、章节目录(如 导航与目录 中的 _nav.md)、面包屑标题,以及模板里 nav_tree 等函数的 from_file 参数。

标准 Markdown 链接

对外部站点或固定 URL,使用常见写法即可:

[毓知官网](https://everkm.cn)
<https://everkm.cn>
[引用式链接][ref]

[ref]: https://everkm.cn

导出静态站时,正文中的相对路径链接(如 [下一页](./next.html))会被校验拦截。站点内跳转应改用内链,见下文。

内链语法

内链写作 [[目标]],在 Markdown 渲染阶段即解析为发布 URL;无法解析或存在歧义时会立即报错(预览与导出行为一致)。

[[quick-start]]                    # 按 slug 或标题匹配
[[./faq/]]                         # 相对当前文件目录
[[/docs/guide/quick-start.md]]     # 站点根逻辑路径
[[./page#章节标题]]                 # 锚点
[[./faq/|常见问题]]                 # 自定义显示文本(| 前为目标,后为文案)

本指南目录 _nav.md 即以内链组织章节:

* [[navigation]]
* [[inner-link]]
* [[everkm-markdown]]

匹配规则

解析按以下顺序尝试(均基于当前语言的内容索引):

顺序写法说明
1外链、~/ 前缀原样输出或替换为站点 base_prefix
2slug忽略大小写;多篇命中 → 报错
3标题忽略大小写;多篇命中 → 报错
4路径见下表「路径前缀」
5.md 媒体复制到静态资源并输出 URL

路径前缀(slug / 标题均未唯一命中后):

写法行为
/ 开头站点根下的逻辑路径,如 [[/docs/faq.md]]
./../ 开头相对当前 Markdown 文件所在目录
无前缀先按路径后缀全库匹配(如 use-cases → 查找以 /use-cases.md 结尾的路径);唯一则命中,多个则歧义;仍未命中则回退为相对当前目录

[[FAQ]] 通常先按 slug / 页面标题解析,而不是直接当作「当前目录下的文件名」。标题或 slug 可能在不同目录重复,目录默认页、章节目录等场景请优先用 [[./子目录/]][[/绝对/逻辑/路径]] 消歧。

带末尾 / 的路径按目录默认页解析(如该目录下的 index.mdslug: index 的页面)。

内链也可指向非 Markdown 媒体(如 PDF、图片),导出时自动复制到静态资源目录并输出 URL。

常见场景

正文互引

配置细节见 [[dir-config]];Markdown 扩展见 [[everkm-markdown]]。

章节目录 _nav.md

列表项写内链即可,主题读取 nav_file 后渲染侧栏树与上下篇。见 导航与目录

面包屑

everkm.yamlfolders.breadcrumbs 中,仅当条目未配置 url(或 url 为空) 时,title[[...]] 才会按内链解析,并采用目标页面的标题与 URL;若同时写了 url,则直接使用配置的 titleurl,不再解析内链。

folders:
  "/blog/":
    breadcrumbs:
      - title: "[[blog]]"              # 无 url:解析内链 → 目标页 title + URL
      - title: "@i18n:nav.blog"
        url: /blog/                      # 有 url:原样使用,title 不作内链解析

合并规则与更多示例见 目录配置

模板导航函数

nav_treenav_pathnav_indicatorfrom_file 若用 [[...]] 包裹,与正文内链规则相同:

{{ nav_tree(from_file="[[./_nav.md]]") | json_encode }}

发布前检查

everkm-publish lint ./my-site

行号列出无法解析或存在歧义的 [[...]],适合 CI 与发布前自检。歧义时输出候选页面列表,便于改用更具体的路径。

常见修复方式:

  • [[quick-start]] 命中多篇 → 改为 [[/docs/guide/quick-start]][[./guide/quick-start]]
  • 标题重复 → 改用显式路径,勿依赖标题匹配

更多排错见 常见问题

与相对链接的区别

内链 [[...]]标准链接 [text](./page.md)
解析时机Markdown → HTML 阶段导出后校验相对 href
目标索引中的页面 / 媒体手写路径,易随 URL 规则失效
失败行为渲染立即失败导出时报 RelativeLinkNotAllowed

完整 Markdown 链接、页内锚点 {id=...}、链接扩展属性等语法见 毓知Markdown格式毓知Markdown格式