Jekyll仅在一篇文章

时间:2015-08-18 13:29:39

标签: jekyll

我试图在首页上显示帖子的摘录,但似乎只适用于一个帖子。摘录插入如下:

{% for post in paginator.posts %}
    <div class="unit whole single-post-excerpt">
        <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
        <p class="description">{{ post.excerpt | strip_html }}</p>
    </div>
{% endfor %}

帖子看起来像这样,第一个名为"2015-08-17-first-post.markdown"

---
layout: post
title: "The first post that works"
---
This is the first post that has a working excerpt.

That was the excerpt, and this one won't show up in the list of posts.

These two paragraphs are shown on the post page instead.

第二个名为"2015-08-18-second-post.markdown"

---
layout: post
title: "The second post that does not work"
---
This is the second post that does not work as intended.

This paragraph gets also added to the excerpt.

As does this one.

为什么第二篇文章的摘录不按预期工作?我是否遗漏了配置中的内容或..?我也尝试添加更多帖子,摘录只能在第一篇文章中正确使用。所有后续帖子都有帖子列表中显示的所有文字,没有任何段落格式 - 它只是塞满了一个段落。

1 个答案:

答案 0 :(得分:1)

您需要一个后摘录分隔符。

正如Jekyll文档显示的post-excerpts

  

因为Jekyll抓住第一段,你不需要将摘录包装在p标签中,这已经为你完成了。

然后如果你继续阅读......

  

如果您不喜欢自动生成的摘录后,可以通过在帖子的YAML Front Matter中添加excerpt值来明确覆盖它。或者,您可以选择在帖子的YAML前端事项中定义自定义excerpt_separator

---
excerpt_separator: <!--more-->
---

 Excerpt
 <!--more-->
 Out-of-excerpt
     

您还可以在_config.yml配置文件中全局设置excerpt_separator。

您的帖子需要分隔符,以便手动告诉Jekyll在哪里显示帖子,直到文本切断为止。默认值应为<!--more-->,因此请继续将其放在第二篇文章中。如果您想使用自定义的,请转到_config.yml并添加excerpt_separator: <!-- what you want here -->。摘录通常采用评论的形式,以便读者看不到。