我正在使用Jekyll按照这个优秀的tutorial来创建博客。我想在索引页面上添加一个帖子摘要。我尝试使用:
post.content |截断词:50 | strip_html
它有效,但它会显示整个帖子,直到达到50个字数。这也包括标题。我想简要总结帖子的实际内容。我如何构建我的帖子来做到这一点?
答案 0 :(得分:34)
现在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一样。
答案 1 :(得分:4)
使用YAML front matter并为每个帖子定义一个单独的标题,如下所示:
---
title: Efficient smuflet based kwoxel trees
---
Post content goes here.
然后您可以根据需要使用或不使用post.title
。
或者,如果您想为每个帖子编写单独的摘要(不仅仅是前n个字符),只需在前面的内容中添加该摘要的字段。
答案 2 :(得分:4)
来自Jekyll文档:
每个帖子自动获取第一个文本块,从内容的开头到第一次出现的excerpt_separator,并将其设置为post.excerpt。
...
因为Jekyll抓住了第一段,你不需要将摘录包装在p标签中,这已经为你做了。
有关详情和示例,请参阅http://jekyllrb.com/docs/posts/#post-excerpts。
答案 3 :(得分:3)
在{{ post.excerpt }}
文件中使用index.md
获取此帖子的摘录。