You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Eleventy中统一维护全局外部引用链接是否可行?

解决方案

这个需求完全可以实现,以下是两种常用的实现方案:

方案1:全局自动注入(无需修改单个页面)

这个方案最匹配你的需求,配置一次后所有页面都可以直接使用全局定义的参考链接:

  • 首先在项目根目录新建专门存放链接定义的文件,比如命名为global-links.md,写入你所有的参考链接定义,格式和你示例的完全一致:
[github]: <https://github.com/>
[stackoverflow]: <https://stackoverflow.com/>
  • 然后修改Eleventy配置文件.eleventy.js,添加转换规则,让所有markdown文件渲染前自动追加上全局链接定义:
const fs = require('node:fs');
// 读取全局链接文件内容
const globalLinkDefinitions = fs.readFileSync('./global-links.md', 'utf8');

module.exports = function(eleventyConfig) {
  // 新增全局链接注入转换
  eleventyConfig.addTransform('inject-global-md-links', function(content) {
    // 仅处理markdown格式的文件
    if (this.page.inputPath.endsWith('.md')) {
      return `${content}\n\n${globalLinkDefinitions}`;
    }
    return content;
  });

  // 其余原有配置保持不变即可
};

配置完成后,你在任意markdown页面都可以直接用[github]、[访问Github][github]这类参考链接写法,不需要再单独定义链接。

方案2:局部引入(适合仅部分页面需要的场景)

如果你不需要所有页面都用全局链接,可以把链接定义文件放到_includes目录下,命名为links.md,需要使用的页面在内容末尾加一行{% include "links.md" %}即可,使用更灵活。


内容的提问来源于stack exchange,提问作者pat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:36:05