{{content}}液体标记未显示博文

时间:2015-05-11 14:29:30

标签: html tags jekyll shopify liquid

链接到回购:https://github.com/AlvSovereign/AlvSovereign.github.io

我正在编写我的投资组合网站,其中包含指向我博客的链接。完整处理的投资组合网站位于_site/index.html,其中包含指向博客的链接(_site / blog.html中存在完全处理的链接)

回购根部的Blog.html在前面有一个“bl”的布局,它在我的布局文件夹“ bl.html ”下定义。

bl.html ”是我想要的博客页面布局,其中包含我的包含等。它还包含{{ content }}液体标签。

如果我正在以正确的方式思考这个问题,我的帖子正在被解析(我认为这是正确的术语)到“ post.html ” - 其前提条件是“布局:bl “,然后解析为”bl.html“,并且这是因为他们在每个文件中都有{{ content }}

现在我的所有帖子都在_site/(year)/(month)等内正确显示(我认为)。但是,它们并没有通过我的“blog.html”文件解析,然后在我的网页上显示。我怎么知道这是完全处理过的“ blog.html ”文件中没有任何帖子。

我需要做些什么来解决这个问题?

如果有帮助,我使用Prepros for LiveReload,并使用LANYON模板,http://lanyon.getpoole.com/

1 个答案:

答案 0 :(得分:1)

{{ content }}指的是文件中转换为HTML代码的所有内容。

例如,如果您正在通过博客文章'什么是杰基尔'对于具有{{ content }}标记的任何布局,除YAML前端内容之外的所有文本都将放在该位置。基本上是帖子的内容。您还可以使用{{ post.content }}限制范围,有关详情here,请参阅Variables

因此Liquid {{content}}变量按预期工作。

查看您的网站,我相信您正在尝试显示blog.html文件中的所有帖子,因此您实际要问的是为什么不是我的帖子在您的blog.html文件中显示(未解析),因此在您的网页上无法显示。

之所以这样,是因为你不应该使用{{ content }}标记,而你想要的是代码片段as mentioned in the Jekyll docs,它会抓住你的所有帖子,通过帖子标题显示它们,以及该帖子的链接。这是显示帖子列表的代码。 (摘自我链接的网站)

<ul>
{% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

因此,只需使用该代码段替换{{ content }}布局中的bl.html,即可获得所需内容。

此外,如果您也希望在帖子列表中显示内容/摘录,只需添加液体标记{{ post.content }}{{post.excerpt}},如下所示:

<ul>
{% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.content }} /* or post.excerpt */
    </li>
  {% endfor %}
</ul>

当然,根据您的偏好相应地编辑HTML。阅读how to set up post excerpts here上的文档,该文档使用<!--more-->评论分隔符作为摘录。

我强烈建议您阅读JekyllRb文档以获取更多信息,阅读内容非常多,而且并不总是易于理解,但请继续参考它,您将立即了解更多信息。