链接到回购:https://github.com/AlvSovereign/AlvSovereign.github.io
我正在编写我的投资组合网站,其中包含指向我博客的链接。完整处理的投资组合网站位于_site/index.html
,其中包含指向博客的链接(_site / blog.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/
答案 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文档以获取更多信息,阅读内容非常多,而且并不总是易于理解,但请继续参考它,您将立即了解更多信息。