Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I use markdownify in Jekyll to show an excerpt on the index

Tags:

I'm looking to show a short excerpt of text from a longer post or page on the index page. I was going to use a custom variable in the Front Matter and grab that, but then I saw the filter for .excerpt

I see in the Jekyll docs there's something called {{ page.excerpt | markdownify }} How would I markup the markdown on a page or post in order to use that filter?

edit: Or does markdownify take the entire .md document?

like image 705
kaplan Avatar asked May 07 '13 15:05

kaplan


1 Answers

Jekyll has an option excerpt_separator, which is suitable for you. Things go like this:

In _config.yml:

excerpt_separator: <!--more-->  # you can specify your own separator, of course. 

In you post:

--- layout: post title: Foo ---  This appears in your `index.html`  This appears, too.  <!--more-->  This doesn't appear. It is separated. 

Note you must type exactly <!--more-->, not <!--More--> or <!-- more -->.

In your index.html:

<!-- Loop in you posts --> {% for post in site.posts %}   <!-- Here's the header -->   <header>     <h2 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h2>   </header>    <!-- Your post's summary goes here -->   <article>{{ post.excerpt }}</article>  {% endfor %} 

The output is like this:

<header>   <h2 class="title"><a href="Your post URL">Foo</a></h2> </header>  <article>  This appears in your `index.html`  This appears, too.  </article> 
like image 182
Chongxu Ren Avatar answered Sep 21 '22 20:09

Chongxu Ren