微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法使目录级别的 Eleventy 数据文件 (*.11tydata.js) 工作

如何解决我无法使目录级别的 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

这是我的 11data.js 文件内容

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 举报,一经查实,本站将立刻删除。