_layouts 文件夹中缺少主页布局,但有效

Home layout missing in _layouts folder, but works

我开始用 jekyll 和 github 页面制作我的博客。

基本主题我做得很好, 但是我想应用侧边栏属性, 所以我从 https://idratherbewriting.com/documentation-theme-jekyll/

下载了带有侧边栏的主题

所以我下载了项目并覆盖了。 我不太了解这是如何工作的, 但最奇怪的是 在 index.md 个文件中

如果我把

---
layout:home
sidebar:mydoc_sidebar
----

恰好展示了基本的主题布局 和 posts 应该是,但是如果我将布局更改为 _layout 文件夹中的其他内容,例如 post,默认, posts 消失了,我不知道为什么 Jekyll 会这样做。

即使我擦除布局,它 returns 空白屏幕 所以我确定它正在做一些事情 主页布局,但我无法在任何地方找到主页布局的渲染方式。

这个问题可能是由多种因素引起的,但也可能根本没有问题:)

1) 停止 Jekyll serve/watch。 2) 删除_site 目录。 3) 重建和服务网站

jekyll serve.

密切关注终端,看看 Jekyll 是否警告您缺少布局文件。

尽管可能性不大,但主题或插件 ID 可能会即时构建布局。要覆盖它(无论是否如此),像往常一样创建一个 home 布局并包含在 page/post 的前面。只需使用红色背景之类的基本布局,以便您可以轻松测试它是否已加载。

我认为删除 _site 文件夹可以解决此问题,但如果不能,请尝试其他选项并告诉我。

_config.yml中,我们可以看到您正在使用(theme: minima) minima gem 基于主题 (documentation)。这意味着默认情况下,您所有的 _includes_layoutsassets 都隐藏在您计算机的某个位置。您可以使用 bundle show minima 命令找出它们的存储位置。

由于home布局存在于minima主题中,是否使用。

如果您想使用自己的主页布局,您可以将它从 minima 复制到您的 _layouts 文件夹并修改它以适合您的需要。

cd your/root
cp `echo "$(bundle show minima)/_layouts/home.html" _layouts/home.html`

如果您想确保不使用隐藏资源,您可以从 _config.yml 文件中删除 theme: minima 指令。