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

Eleventy添加超2个页面到集合时出现永久链接输出冲突

Eleventy永久链接输出冲突问题解决思路

问题根源

目录数据文件(如c_blog/c_blog.json)的全局permalink配置会覆盖目录下所有文件的permalink设置,包括index.html自身的前置元数据配置。当目录下文件数量增加时,Eleventy的渲染逻辑会触发重复permalink检测,导致系统判定同一个public/blog/index.html被多次写入。

修复方案

方案一:动态目录数据permalink(推荐)

修改目录数据文件(c_blog/c_blog.json、c_docs/c_docs.json),添加条件判断,跳过index.html的默认permalink规则:

{
  "permalink": "{{ page.fileSlug !== 'index' ? '/blog/' + page.fileSlug + '/' : false }}"
}

这样index.html会使用自身前置配置的permalink: /blog/,其他md文件则沿用目录默认的permalink规则。

方案二:移除目录全局permalink,单独配置文件

删除c_blog/c_blog.json和c_docs/c_docs.json中的permalink字段,给每个md文件(如test-a.md、test-b.md、test-c.md)手动添加前置元数据:

---
permalink: /blog/{{ page.fileSlug }}/
---

保留index.html的前置permalink配置不变。

验证步骤

  1. 应用上述任意一种修复方法
  2. 执行命令:npm run build
  3. 确认终端无输出冲突错误,同时检查public目录下的文件结构,确保blog/index.html和各文章的permalink路径正确生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:43:16