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

如何在Eleventy的Front Matter中引用数据?

解决Eleventy分页页面Front Matter中标题不渲染的问题

问题原因

YAML格式的Front Matter在Eleventy处理流程中,会早于分页数据注入完成解析,因此直接在YAML Front Matter里写模板语法(比如{{ possum.name }})不会被渲染,只会被当作纯文本输出。

修复方案

方案1:使用JavaScript格式的Front Matter

将模板的Front Matter改为JS格式(以---js开头),可直接访问分页上下文的possum变量:

---js
{
  pagination: {
    data: "possums",
    size: 1,
    alias: "possum"
  },
  permalink: `possums/${this.possum.name | slugify}/`,
  title: this.possum.name
}
---

{{ possum.name }} is {{ possum.age }} years old

方案2:使用Eleventy的Computed Data

利用Eleventy提供的computed字段,在模板数据就绪后动态计算标题值:

---
pagination:
  data: possums
  size: 1
  alias: possum
permalink: "possums/{{ possum.name | slugify }}/"
computed:
  title: "{{ possum.name }}"
---

{{ possum.name }} is {{ possum.age }} years old

额外修正:修复JSON数据文件语法错误

你的_data/possums.json存在语法问题(对象末尾多余逗号、属性未加双引号),修正后才能被Eleventy正确读取:

/* _data/possums.json */
[
    {
        "name": "Fluffy",
        "age": 2
    },
    {
        "name": "Snugglepants",
        "age": 5
    },
    {
        "name": "Lord Featherbottom",
        "age": 4
    },
    {
        "name": "Pennywise",
        "age": 9
    }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:47:11