11ty - 如何显示帖子/页面年份?

问题描述 投票:0回答:2

我正在使用 Eleventy 并使用 Posts。我已经使用格式设置了元数据中的日期

date: 2021-09-10
.

我可以使用

显示完整日期

{{ page.date | readableDate }}

但是我想在帖子内容中仅显示年份(YYYY)。我正在使用 Nunjucks。

我该怎么做?

我已经尝试过了

{{ page.date.getFullYear }}

这会出现以下错误:

function () { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return obj[val].apply(obj, args); }

任何帮助将不胜感激 - 谢谢!

date nunjucks eleventy
2个回答
5
投票

向您的 .eleventy.js 文件添加过滤器

eleventyConfig.addFilter("justYear", (dateString) => {
  dateObj = new Date(dateString);
  return DateTime.fromJSDate(dateObj, { zone: 'utc' }).toFormat('yyyy');
});

然后在你的 .njk 文件中

{{ page.date | justYear }}

0
投票

实际上,您的方法正在朝着正确的方向发展,并且您不需要为此注册过滤器。

然而

page.date.getFullYear
是一个函数,你所做的只是打印它的主体而不是执行它。

以下工作正常,请注意函数名称后面的括号:

{{ page.date.getFullYear() }}

使用 Eleventy >=2.0.x 进行测试,但也应该适用于早期版本。

© www.soinside.com 2019 - 2024. All rights reserved.