我想在我的 bolg.html 页面中显示最新的帖子。所以我使用了 Liquid 语法
但是,当我使用下面显示的液体并在本地运行时,页面会按原样显示代码,并且不会从我的 _posts 文件夹中获取帖子。
液体语法如下:
然后输出如下
请帮我。此外,我正在使用来自 bootstrap的名为Triangle的模板。我在 github 上托管。
我想我知道出了什么问题。你的循环不起作用,因为你说{% for blogpost in site.posts%}
然后你调用循环post
而不是blogpost
。尝试将for
循环更改为:
{% for post in site.posts %}
你应该没事!
如果这个答案是正确的或有用的,请标记它!谢谢!;)
我通过删除根目录中的 index.html 并创建 index.md 解决了这个问题。在此之后,一切都按预期进行!
这可能有点晚了,但我也遇到了类似的问题。
我原本有这个default.html
---
page.title: My Blog
---
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{{ page.title }} | My Blog - Musings of a Software Developer from Norwich</title>
<link rel="stylesheet" href="{{'/assets/main.css' | prepend: site.baseurl}}">
</head>
<body>
{% include nav.html %}
<div class="content">
{{ page.content }}
</div>
<script src="{{'/node_modules/jquery/dist/jquery.min.js' | prepend: site.baseurl}}"></script>
<script src="{{'/node_modules/popper.js/dist/popper.min.js' | prepend: site.baseurl}}"></script>
<script src="{{'/node_modules/bootstrap/dist/js/bootstrap.min.js' | prepend: site.baseurl}}"></script>
</body>
</html>
在我的 blog.html 中,我有
---
title: Blog
layout: default
---
<h1>Latest Posts</h1>
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
我注意到,当我从 frontmatter 中删除布局时,循环运行正常,因此我将布局放回原处,但它停止工作。然后在与我正在做的另一个网站进行仔细比较时,我注意到我的布局中有{{ page.content }}
. 所以我将它更新为只是{{ content }}
,嘿,我得到了我的主题,它像我想要的那样在博客文章中循环。希望这可以帮助将来的人
我真的迟到了,但迟到总比没有好,嗯?
通过查看您发布的屏幕截图,您似乎正在{{ page.content }}
布局模板中使用,因为液体标签似乎没有按照您的预期呈现。也许您需要{{ content }}
改用,以便您的内容在输出到页面之前正确呈现?