21

我正在使用Jekyll按照这个优秀的教程创建博客。我想在索引页面上添加一个帖子摘要。我尝试使用:

post.content | 截断字数:50 | strip_html

它可以工作,但它会显示整个帖子,直到达到 50 个字数。这也包括标题。我只想总结一下帖子的实际内容。我该如何组织我的帖子来做到这一点?

4

4 回答 4

36

2015 年 11 月 16 日更新

现在 Jekyll 支持摘录分隔符,在模板中你可以这样做:

{% if post.excerpt %}
    {{ post.excerpt }}
{% endif %}

在全局配置_config.yml中,您可以设置:

excerpt_separator: <!--more-->

<!--more-->html 注释标签同样使用。

旧答案

你可以试试这个:

{% if post.content contains '<!--more-->' %}
  {{ post.content | split:'<!--more-->' | first }}
{% else %}
  {{ post.content }}
{% endif %}

并在摘要后的文章中添加<!--more-->标签,就像 Wordpress 一样。

于 2013-06-28T17:02:26.187 回答
4

使用YAML 前端并为每个帖子定义一个单独的标题,如下所示:

---
title: Efficient smuflet based kwoxel trees
---

Post content goes here.

然后你可以随意使用或不使用post.title

或者,如果您想为每篇文章编写一个单独的摘要(不仅仅是前 n 个字符),只需在前面的内容中为该摘要添加一个字段。

于 2013-03-19T10:58:41.700 回答
4

来自 Jekyll 文档:

每个帖子都会自动获取第一个文本块,从内容的开头到第一次出现的 excerpt_separator,并将其设置为 post.excerpt。

...

因为 Jekyll 抓取了第一段,所以您不需要将摘录包含在 p 标签中,这已经为您完成了。

有关更多信息和示例,请参阅http://jekyllrb.com/docs/posts/#post-excerpts 。

于 2014-12-05T07:30:42.243 回答
3

{{ post.excerpt }}在您的文件中使用index.md以获取这篇文章的摘录。

于 2014-12-11T20:01:36.527 回答