![](/img/trans.png)
[英]Jekyll: All HTML files in /folder, now forced rendering through /folder/page/. How to change?
[英]Jekyll not rendering templated page
我正在运行 Jekyll 4.0.0 和 Bundler 版本 1.17.2。 在发帖时,它是 Jekyll 和 Bundler 的最新版本。
我有一个名为 default 的模板,我用它来标准化导航栏的外观、页脚和正在显示的内容的位置。
我的网站目录结构如下:
_data:一个 yml 数据文件的文件夹,用于列出我从事的开源项目
_includes:包含页脚和导航栏 html 文件的文件夹
_layouts:包含液体模板布局文件的文件夹。 这是“default.html”布局文件所在的位置。
_posts:我希望由 Jekyll 呈现的博客文章目录
CNAME img:图像文件索引。html credits.html
lib:一个存放我所有 CSS、fonts、JavaScript 文件的目录
标志.ico
opensource:包含与开源相关的布局的文件夹
我遇到的问题是添加 credits.html 页面。 使用 index.html 作为模板(因为 index.html 渲染完美),我在 credits.html 顶部粘贴了以下元数据:
---
title: <my name>
layout: default
description: <my description>
---
下面是与页面内容部分相关的所有 HTML。 当我在本地和 github 页面上测试我的网站时,我注意到 Jekyll 给了我一个 404 not found 错误。 我知道这不是真的,因为当我将 credits.html 放入另一个文件夹(即:/credits/credits.html)时,该页面在 url localhost:4000/credits/credits 中呈现良好。
我确实将整个 static 网站的永久链接设置为“漂亮”。
有谁知道为什么我似乎无法呈现学分页面? 索引页面似乎工作得很好。 我试过深入研究文档,但我似乎无法弄清楚是什么影响了那一页。
** 编辑 ** 我发现如果我将 go 转到 localhost:4000/credits/,则页面呈现完美。 这绝对是一个永久链接问题。 有人可以指出我如何解决这个问题的正确方向吗?
我解决了这个问题!
原因是我在全局配置文件“_config.yml”中启用了永久链接。 在那个文件里面,我有permalink: pretty
set。 这就是为什么 localhost:4000/credits/ 有效但 localhost:4000/credits.html 无效的原因。
为了解决这个问题,我从全局配置文件中删除了该设置。 同时我也意识到我的用例不需要永久链接。
对于处于这种情况但需要为您网站的其他部分提供永久链接的任何人,请改为通过 front matter 为每个模板文件设置永久链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.