【问题标题】:Jekyll not rendering templated pageJekyll 不渲染模板页面
【发布时间】:2019-11-18 18:29:19
【问题描述】:

我正在运行 Jekyll 4.0.0 和 Bundler 版本 1.17.2。在发帖时,它是 Jekyll 和 Bundler 的最新版本。

我有一个名为 default 的模板,我用它来标准化导航栏的外观、页脚和正在显示的内容的位置。

我的网站目录结构如下:

  • _data:yml 数据文件的文件夹,用于列出我从事的开源项目

  • _includes:包含页脚和导航栏 html 文件的文件夹

  • _layouts:包含液体模板化布局文件的文件夹。这是“default.html”布局文件所在的位置。

  • _posts:我希望 Jekyll 呈现的博客文章目录

  • CNAME img:图像文件 index.html credits.html

  • lib:一个存放我所有 CSS、字体、JavaScript 文件的目录

  • logo.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 呈现良好。

我确实将整个静态网站的永久链接设置为“漂亮”。

有人知道为什么我似乎无法呈现演职员表页面吗?索引页面似乎工作得很好。我已经尝试过翻阅文档,但我似乎无法弄清楚是什么影响了这一页。

** 编辑 ** 我发现如果我访问 localhost:4000/credits/,页面会完美呈现。这绝对是一个永久链接问题。有人可以指出我如何解决此问题的正确方向吗?

【问题讨论】:

  • 存储库 url 可以帮助调试。

标签: html templates jekyll


【解决方案1】:

我解决了这个问题!

原因是我在全局配置文件“_config.yml”中启用了永久链接。在那个文件里面,我设置了permalink: pretty。这就是为什么 localhost:4000/credits/ 有效但 localhost:4000/credits.html 无效的原因。

为解决此问题,我从全局配置文件中删除了该设置。同时我也意识到我的用例不需要永久链接。

对于处于这种情况但需要为您网站的其他部分提供永久链接的任何人,请设置permalink per template file via front matter instead。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2023-03-11
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多