【问题标题】:Why is 11ty compiling everything to the output directory *except* index.njk?为什么 11ty 将所有内容编译到输出目录 *except* index.njk?
【发布时间】:2020-07-01 04:05:02
【问题描述】:

运行npx eleventy --serve 会将我的所有模板文件写入输出目录,index.njk 除外。所以localhost:8080 抛出Cannot GET / 错误,但localhost:8080/about/ 显示我的about.md 文件,以此类推所有其他文件。处理 .njk 文件不会有问题,因为其他 .njk 文件在其各自的永久链接中显示良好。

这是一个新问题,据我所知,我唯一改变的是我在文件夹中创建了一个 git 存储库。运行调试不显示任何错误。它确实表明 11ty 正在找到 index.njk,并将其添加到地图中......

Eleventy:TemplateWriter Found: [ './blog/index.njk' ] +0ms
Eleventy:Template getMappedDate: using file created time for './blog/index.html' of 2020-03-08T22:48:56.628Z (from 1583707736628.0034) +1ms
Eleventy:TemplateWriter ./blog/index.html added to map. +2ms

...但它只是没有出现在写入的文件列表中。我尝试添加pathPrefix,移动.eleventy.js 并更改输入目录,将index.njk 更改为.md.html,并三重检查我的.eleventyignore.gitignore,但我'我被难住了。

我的文件结构是这样的。

├── .git
├── _site
├── blog
|   ├── _includes
|   ├── _data 
|   ├── assets
|   ├── _posts
|   |   ├── 2016-08-08-i-published-a-pattern.md
|   |   ├── 2016-08-20-pyukumuku.md
|   |   └── style-guide.md
|   ├── about.md
|   ├── index.njk
|   ├── tag.njk
|   ├── tagslist.njk
└── .eleventy.js

我的.eleventy.js 的相关部分看起来像这样。

eleventyConfig.addPassthroughCopy("assets");
return {
    passthroughFileCopy: true,
    markdownTemplateEngine: "njk",
    templateFormats: ["html", "njk", "md"],
    dir: {
        input: "blog",
        output: "_site",
        include: "_includes"
        }
    }

【问题讨论】:

  • 更新:将 index.njk 重命名为其他名称并创建一个具有相同内容的全新 index.njk 会在输出目录中创建一个 index.html 文件,但它是空白的。尝试将index.njk 的内容移动到blog.njk,并使index.njk 只是带​​有blog 链接的文本。现在blog.njk 是不写入输出的文件。 OG index.njk 只是一个带有前端分页的 for 循环以显示博客文章,所以看起来该代码可能有问题?
  • 您是否在控制台上看到任何错误消息?
  • 不,无论是正常还是调试都没有错误消息。
  • 当我在索引页面中使用 frontmatter 分页并且尚未创建任何帖子时,我遇到了同样的问题。我仍在寻找解决方法,除了有一个示例帖子来避免这个问题......
  • 你能发一下你的index.njk frontmatter吗?有类似data: collections.post 的东西吗?

标签: node.js static-site eleventy


【解决方案1】:

我今天遇到了这个问题。当我ranDEBUG=Eleventy* npx @11ty/eleventy 时,我在输出中看到了这个:

Eleventy:EleventyFiles >>> When processing .gitignore/.eleventyignore, Eleventy does not currently support negative patterns but encountered one: +0ms
  Eleventy:EleventyFiles >>> !/src +0ms
  Eleventy:EleventyFiles Follow along at https://github.com/11ty/eleventy/issues/693 to track support. +0ms
  Eleventy:EleventyFiles >>> When processing .gitignore/.eleventyignore, Eleventy does not currently support negative patterns but encountered one: +0ms
  Eleventy:EleventyFiles >>> !/src/style.css +0ms
  Eleventy:EleventyFiles Follow along at https://github.com/11ty/eleventy/issues/693 to track support. +0ms

通过github上的问题,我遇到了thiseleventyConfig.setUseGitIgnore(false);作为可能的解决方案。我的 .gitignore 中确实有一个负面模式,并将该行添加到 .eleventy.js 解决了问题。

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    相关资源
    最近更新 更多