我正在尝试使用 11ty 为电影评论网站生成页面。我的 _data 文件夹的结构如下。
_data
movies
2017
title1.json
title2.json
2018
2019
我希望有这样的输出。
_site
movies
2017
title-1.html
title-2.html
2018
我会满足于这样的输出。
_site
movies
title-1.html
title-2.html
但我不知道如何接近任何东西!有任何想法吗?这是我的 nunjucks 模板。TitleWithYear
是每个 .json 文件中的一个属性。
---
pagination:
data: movies
size: 1
alias: movie
resolve: keys
permalink: "movies/{{ year??? }}/{{ movie.TitleWithYear | slug }}/index.html"
---
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<h1>{{ movie.TitleWithYear }}</h1>
</body>
</html>
编辑:这是一个显示问题的回购。
https://github.com/edmondbramhall/11ty-test1
如果没有永久链接行,它确实可以工作,尽管输出中没有我想要的文件夹结构。
编辑:在卢克的帮助下,这是我最终得到的分页属性。
permalink: "movies/{{ movie.ReleaseYear }}/{{ movie.Id }}-{{ movie.Title | slug }}/index.html"
我还为 slugify 创建了一个全局过滤器,通过.eleventy.js
在我的项目的根文件夹中创建一个文件来提供一些设置,其中包含以下内容。
const slugify = require('slugify');
module.exports = function(eleventyConfig) {
eleventyConfig.addFilter("slug", function(value) {
return slugify(value, { strict: true, lower: true });
});
};