我想在我的bolg.html页面中显示最新帖子。所以我用Liquid语法
但是当我使用下面显示的液体并在本地运行时,页面会显示代码,并且不会从我的_posts文件夹中获取帖子。
液体语法如下:
然后输出如下所示
请帮帮我。我也使用bootstrap中名为 Triangle 的模板。我在github上主持。
答案 0 :(得分:1)
我想我知道什么是错的。您的循环无效,因为您说{% for blogpost in site.posts%}
,然后您按post
而不是blogpost
调用循环。尝试将for
循环更改为:
{% for post in site.posts %}
你应该没事!
如果此答案正确或有用,请标记!谢谢! ;)
答案 1 :(得分:1)
我通过删除根目录中的index.html并创建index.md解决了这一问题。之后,一切都按预期进行!
答案 2 :(得分:0)
这可能有点晚了,但是我有一个类似的问题。
我本来在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>
我注意到,当我从前题中删除布局时,循环运行正常,因此我放回了布局并停止了工作。然后,在与我正在做的另一个站点进行更仔细的比较时,我发现在布局中我有{{ page.content }}
。因此,我将其更新为{{ content }}
,嗨,很高兴,我有了我的主题,它也像我想要的那样遍历博客文章。希望这对以后的人有帮助
答案 3 :(得分:0)
我参加聚会真的很晚,但是总比没有好吗?
通过查看您发布的屏幕截图,您似乎在布局模板中使用{{ page.content }}
,因为液体标签似乎并没有像您期望的那样呈现。也许您需要使用{{ content }}
来使内容正确显示,然后再输出到页面?