1

我想在我的 bolg.html 页面中显示最新的帖子。所以我使用了 Liquid 语法

但是,当我使用下面显示的液体并在本地运行时,页面会按原样显示代码,并且不会从我的 _posts 文件夹中获取帖子。

液体语法如下:

液体句法

然后输出如下

输出

请帮我。此外,我正在使用来自 bootstrap的名为Triangle的模板。我在 github 上托管。

4

4 回答 4

4

我想我知道出了什么问题。你的循环不起作用,因为你说{% for blogpost in site.posts%}然后你调用循环post而不是blogpost。尝试将for循环更改为:

{% for post in site.posts %} 

你应该没事!

如果这个答案是正确的或有用的,请标记它!谢谢!;)

于 2015-11-21T08:06:44.770 回答
1

我通过删除根目录中的 index.html 并创建 index.md 解决了这个问题。在此之后,一切都按预期进行!

于 2020-05-02T06:15:20.897 回答
1

这可能有点晚了,但我也遇到了类似的问题。

我原本有这个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 }},嘿,我得到了我的主题,它像我想要的那样在博客文章中循环。希望这可以帮助将来的人

于 2018-12-09T12:25:45.483 回答
1

我真的迟到了,但迟到总比没有好,嗯?

通过查看您发布的屏幕截图,您似乎正在{{ page.content }}布局模板中使用,因为液体标签似乎没有按照您的预期呈现。也许您需要{{ content }}改用,以便您的内容在输出到页面之前正确呈现?

于 2019-12-06T14:33:58.687 回答