Jekyll无法呈现模板页面

问题描述 投票:0回答:1

我正在运行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 /,页面将完美呈现。这绝对是一个固定链接的问题。有人可以为我指出如何解决此问题的正确方向吗?

html templates jekyll
1个回答
0
投票

我解决了这个问题!

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.