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 中工作的主要内容,如果未能解决你的问题,请参考以下文章