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

I can't get the Eleventy data files (*.11tydata.js) on the directory level to work

我有一个 Eleventy 项目,该项目基于 pug 布局文件、Markdown 模板文件,使用 Parcel V2 构建,然后由 BrowserSync 提供服务。一切正常。然而,为了整理我的文件,我想将我的页面文件放到一个页面文件夹中(非常像其他一些主要框架——Nuxt、Next 等——这样做)。但在这种情况下,Eleventy 在页面文件夹中构建页面,如下所示:

pages/index.html pages/subdirectory/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 文件与前面的内容一起使用?感谢您的帮助!

我通过使用 eleventyComputed 使 thisd 正常工作,我认为这可能是此类动态设置所必需的。这对我有用:

module.exports = {
  eleventyComputed: {
      permalink: data => { return data.page.filePathStem.replace('/pages/','/') + '.html' }
  }
}

.eleventy.js 中我设置了 markdownTemplateEngine: 'njk'。那对我有用。但 Raymonds 解决方案也有效!