如何解决我无法使目录级别的 Eleventy 数据文件 (*.11tydata.js) 工作
我有一个基于 pug 布局文件、Markdown 模板文件的 Eleventy 项目,使用 Parcel V2 构建,然后由 browserSync 提供服务。一切正常。然而,为了整理我的文件,我想将我的页面文件放到一个 pages 文件夹中(很像其他一些主要框架——Nuxt、Next 等——这样做)。但在这种情况下,Eleventy 在 pages 文件夹中构建页面,如下所示:
页面/index.html 页面/子目录/index.html
这是我的文件夹结构的摘录:
src/
assets/
includes/
layouts/
base.pug
home.pug
partials/
header.pug
pages/
pages.11tydata.js
index.md
subdirectory/
index.md
module.exports = {
permalink: "{{page.filePathstem | replace('/pages/','/')}}.html",}
我希望这能从我的 URL 结构中省略页面部分。只有当我将 md 文件更改为 njk 文件时,它才有效!但不幸的是,这些文件中的降价部分不再处理。有没有人知道如何在目录级别更改我的 URL 结构,但仍然使用我心爱的 Markdown 文件和前台?感谢您的帮助!
解决方法
我通过使用eleltyComputed 使其正常工作,我认为这种类型的动态设置可能需要它。这对我有用:
module.exports = {
eleventyComputed: {
permalink: data => { return data.page.filePathStem.replace('/pages/','/') + '.html' }
}
}
,
在 .eleventy.js
中,我设置了 markdownTemplateEngine: 'njk'
。那对我有用。但 Raymonds 解决方案也有效!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。