【问题标题】:I can't get the Eleventy data files (*.11tydata.js) on the directory level to work我无法让目录级别的 Eleventy 数据文件 (*.11tydata.js) 工作
【发布时间】:2021-08-03 14:54:24
【问题描述】:

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

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 文件和前端?感谢您的帮助!

【问题讨论】:

  • 有趣,它在 Liquid 中也不起作用。这对我来说就像一个错误。我正在报告,如果我听到更多信息,我会回复。

标签: pug nunjucks eleventy


【解决方案1】:

我通过使用 11tyComputed 让 thisd 正常工作,我认为这种类型的动态设置可能需要它。这对我有用:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多