Jekyll paginator杀死了post.excerpt

时间:2015-08-26 08:30:33

标签: pagination jekyll

我在Jekyll生成的网站上使用paginator时有一种奇怪的行为。 我以前用

创建了最后3个帖子的列表
<ul class="post-list">
    {% for post in site.posts limit:3 %}
      <li>
        <span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>

        <h2>
          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
        </h2>
        <p>{{ post.excerpt }}</p>
      </li>
    {% endfor %}
</ul>

我在Jekyll中激活了paginator并将页面循环为

{% for post in site.posts %}
<div class="post-preview">
    <a href="{{ post.url | prepend: site.baseurl }}">
        <h2 class="post-title">{{ post.title }}</h2>
        {% if post.subtitle %}
        <h3 class="post-subtitle">
            {{ post.subtitle }}
        </h3>
        <p>{{ post.excerpt }}</p>
        {% endif %}
    </a>
    <p class="post-meta">Posted by {% if post.author %}{{ post.author }}{% else %}{{ site.title }}{% endif %} on {{ post.date | date: "%B %-d, %Y" }}</p>
</div>
<hr>
{% endfor %} 

post.excerpt变空。我尝试了标准行为和技巧。

_config.yml中的构建设置是这样的:

# Build settings
gems: [jekyll-sitemap]
markdown: kramdown
highlighter: rouge
permalink: pretty
paginate: 5
paginate_path: "/archives/page/:num"

谢谢

1 个答案:

答案 0 :(得分:1)

您已将{{ post.excerpt }}表达式放在条件语句中。

{% if post.subtitle %}
  <h3 class="post-subtitle">{{ post.subtitle }}</h3>
  <p>{{ post.excerpt }}</p>
{% endif %}

所以,没有副标题,没有摘录!

这样更好:

{% if post.subtitle %}
  <h3 class="post-subtitle">{{ post.subtitle }}</h3>
{% endif %}
<p>{{ post.excerpt }}</p>

为了呈现分页帖子,您必须在paginator.posts see documentation

中循环播放