十一、frontmatter 数据未评估

问题描述

我有一个看起来像这样的模板:

---
date: "2016-01-01T06:00-06:00"
value: "/{{ page.date | date: '%Y/%m/%d' }}/index.html"
---

Value prints: {{ value }} <br/>
But we expect: {{ page.date | date: '%Y/%m/%d' }}/index.html <br/>

当我渲染网站时,网站看起来像这样:

Value prints: /{{ page.date | date: '%Y/%m/%d' }}/index.html
But we expect: 2016/01/01/index.html

我真的希望 value 参数具有预期值。

据我所知,这种事情应该可行。我想用这种技术来计算永久链接。我的想法基于https://www.11ty.dev/docs/permalinks/

我正在运行 110 个 0.12.1

我尝试过的事情:

  • yaml、json 和 js 前端
  • 降价模板
  • njk 模板
  • 从文档中复制粘贴示例代码

此时我认为 Eleventy 可能有错误

解决方法

在撰写本文时,除了 permalink 字段外,110 不支持任何 frontmatter 字段中的模板语法:

permalink:改变当前模板的输出目标。通常,您不能使用模板语法来引用数据中的其他变量,但永久链接是一个例外。

Source

相反,您可以使用 computed data,它允许您根据其他 frontmatter 字段设置 frontmatter 数据。这样的事情应该可以工作:

date: "2016-01-01T06:00-06:00"
eleventyComputed:
    value: "/{{ page.date | date: '%Y/%m/%d' }}/index.html"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...