生而为人

程序员的自我修养

0%

[toc]

如何在文中引用生成的其他页面

在 Hexo 中引用其他页面,主要有三种方法,你可以根据对便捷性灵活性可维护性的需求来选择。

📝 方法一:标准 Markdown 链接(最基础)

这是最直接的方法,使用标准的 Markdown 链接语法 [显示文字](链接地址)

  • 操作方式:你需要手动填写目标文章的相对路径绝对路径--10
  • 优点:通用性强,不依赖任何 Hexo 特性,在所有主题和编辑器下都能工作。
  • 缺点:一旦文章的URL 结构(Permalink)发生变化,所有手动书写的链接都会失效,维护成本较高。

🚀 方法二:Hexo 标签插件(官方推荐)

Hexo 提供了内置的 post_link 标签插件,这是官方推荐的做法--10

  • 操作方式:在文章中这样使用:

    1
    {% post_link 目标文章的文件名(不含.md后缀) "自定义显示文字(可选)" %}

    例如,要引用 source/_posts/hello-world.md 这篇文章--4

    1
    2
    {% post_link hello-world %}
    {% post_link hello-world 你好,世界! %}
  • 优点

    • 智能解析:Hexo 会自动根据文章文件名找到正确的 URL-10
    • 高可维护性:即使你修改了文章的 permalink 配置,链接也依然有效,无需手动更改-10
    • 多语言友好:能更好地适应多语言站点-10
  • 缺点:语法不是标准 Markdown,在部分编辑器(如 Typora)中可能无法实时预览。

🔌 方法三:社区插件(功能更强大)

如果你追求更优雅的语法或更高级的功能,可以安装社区插件。

  • 1. 回归标准 Markdown 语法:hexo-post-link
    • 这个插件让你能用标准的 Markdown 链接语法来实现 post_link 的效果--5
    • 操作方式:安装插件后,链接写法变为 [显示文字](文章文件名)-5。Hexo 在生成时会自动将文件名替换为正确的 URL。
    • 优点:兼顾了标准语法和智能解析。
  • 2. 拥抱 Wiki 链接:hexo-filter-titlebased-link
    • 如果你习惯使用 [[双链]] 语法(尤其在 Obsidian 等笔记软件中),这个插件将非常适合你--1
    • 操作方式:安装并配置后,可以直接使用 [[目标文章标题]][[目标文章标题|自定义别名]] 来创建链接-1
    • 高级功能:它甚至可以生成“反向链接”,让你在主题中展示有哪些文章引用了当前文章,构建知识图谱-1

💡 补充:链接到文章的特定章节

如果你想链接到另一篇文章的某个具体小标题,也是完全可以的。

  • 操作方法:在链接地址后加上 # 和小标题的 id

  • Hexo 默认行为:Hexo 默认的 Markdown 渲染器会自动为每个小标题(##### 等)生成一个 id,通常就是标题文字本身。

  • 示例:假设你要引用的文章中有个 ## 总结 的标题,你可以这样链接:

    1
    [跳转到那篇文章的总结部分]({% post_link target-article %}#总结)

    小技巧:如果不确定某个标题的准确 id,可以在浏览器中打开该文章,按 F12 打开开发者工具,检查(Inspect)那个标题元素,就能看到它的 id 属性值。

💎 总结与建议

方法 核心操作 优点 缺点 推荐场景
标准 Markdown 链接 [文字](/path/to/page) 简单直接,通用性强 链接硬编码,URL 变更后易失效 临时引用,或引用站外链接
post_link 标签 {% post_link 文件名 %} 官方支持,稳定可靠,自动适配 URL 变化-10 语法非标准 Markdown 绝大多数内部引用场景(首选)
社区插件 [文字](文件名)[[标题]] 语法优雅,功能强大(如支持反向链接)-1 需要额外安装和配置 追求极致写作体验,或需要构建知识网络

对于大多数情况,直接使用 Hexo 自带的 post_link 标签插件是兼顾了便捷与可靠的最佳选择。