Jekyll 包括在没有模板的情况下无法在 GitHub Pages 中工作

Posted

技术标签:

【中文标题】Jekyll 包括在没有模板的情况下无法在 GitHub Pages 中工作【英文标题】:Jekyll includes not working in GitHub Pages without a template 【发布时间】:2021-04-04 03:30:01 【问题描述】:

我正在尝试在 GitHub Pages 上发布我自己的网站。我想在许多文件中包含一些重复的代码部分(标题),这样我就不必总是复制粘贴它们。我想使用 Jekyll 提供的包含功能:

% include example.html %

我已将要包含的文件放在 _includes 目录中,但是,由于某种原因,它似乎只有在我在主文件中使用布局时才有效。难道我做错了什么?如果没有,是否可以在没有布局的情况下使用 Jekyll 包含? (因为我已经设置了我所有的 html 文件都可以在没有它的情况下工作)

【问题讨论】:

“在主文件中使用模板”是什么意思?你如何添加这个模板?哪个文件是主文件?当您不添加此模板时,您会收到错误还是没有输出?此外,如果您在公共存储库中有此代码,包括问题中的链接将有助于人们提供更好的反馈。 感谢您的快速回复!当我写“在邮件文件中使用模板”时,我的意思是如果在我的 index.html 文件的开头我放了 --- layout: default --- 它确实有效,但如果我不这样做,它不会t. 哦,我明白了……所以这不是模板,而是布局。我仍然需要其他问题的答案。最好有一个回购链接。 好的,感谢您的更正,我将在问题中进行编辑。主文件是 index.html 。当我不添加布局时,它只会向我显示未呈现的代码(因此,它会向我显示 % include example.html % )。关于回购,这是链接:github.com/matematicoso/markdown-portfolio。但是考虑到测试我只是使用 repo GitHub 来学习 GitHub Pages,所以没什么特别的! 正如您在 repo 中所见,添加了布局,一切正常,但一旦我删除包含不再起作用。 【参考方案1】:

我最好的猜测是,您在删除布局时也会删除 yaml 标签。在你的 index.html 文件中试试这个

---
---
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>First try</title>
  </head>
  <body>
    % include first-try.html %
  </body>
</html>

你需要那些---标签来处理文件中的Liquid。

【讨论】:

非常感谢。你的猜测是对的。我还在学习,我不知道!

以上是关于Jekyll 包括在没有模板的情况下无法在 GitHub Pages 中工作的主要内容,如果未能解决你的问题,请参考以下文章

window下Jekyll+github搭建自己的博客

如何使用 Lanyon 在 Jekyll 中启用水平滚动

从 Jekyll 生成的页面设置 GitHub 页面站点

获取“[Vue 警告]:无法安装组件:未定义模板或渲染函数。”尝试在没有 .vue 的情况下导入时

用 Github + Jekyll 写博客

Jekyll:在另一个帖子中包含一个帖子