2013-05-07 17 views
24

Szukam pokazać krótki fragment tekstu z dłuższego postu lub strony na stronie indeksu. Miałem zamiar użyć zmiennej niestandardowej w sprawie Przedni i chwycić, ale potem zobaczyłem filtr dla .excerptJak używać markdownify w Jekyll, aby wyświetlić fragment indeksu

widzę w Jekyll docs istnieje coś, co nazywa {{ page.excerpt | markdownify }} Jak bym markup z przecen na stronie lub pocztą w celu korzystać z tego filtra?

edytuj: Czy robi markdownify wziąć cały dokument .md?

Odpowiedz

14

W plikach przecen pocztowych trzeba najpierw ustawić swój fragment, tutaj jest przykład z jednej z moich postów

layout: post 
title: A developers toolkit 
date: Friday 14 December, 2012 
excerpt: What text editor to use? Sass or plain old CSS? What on earth is Compass? Command line? I'm not touching that. Sound like you? Welcome, I was once like you and this is the guide I wish someone had given me. 

Następnie na stronie indeksu nazwać tag

{{ post.excerpt }} 

Powinno to następnie wypisz to, co napisałeś w pliku oceny. Ładnie i prosto i dlaczego uwielbiam Jekyll.

72

Jekyll ma opcję excerpt_separator, która jest odpowiednia dla Ciebie. sprawy idą tak:

W _config.yml:

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

W dodawać posty:

--- 
layout: post 
title: Foo 
--- 

This appears in your `index.html` 

This appears, too. 

<!--more--> 

This doesn't appear. It is separated. 

Uwaga należy wpisać dokładnie <!--more--> nie <!--More--> lub <!-- more -->.

w twojej 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 %} 

Wyjście jest tak:

<header> 
    <h2 class="title"><a href="Your post URL">Foo</a></h2> 
</header> 

<article> 

This appears in your `index.html` 

This appears, too. 

</article> 
+0

@kaplan To jest lepiej dopasowana odpowiedź. To powinno zostać zaakceptowane. – kleinfreund

+0

@kleinfreund Tak naprawdę odpowiedziałem na to pytanie kilka miesięcy po przyjęciu pierwszej odpowiedzi. –

+0

Wiem o tym. Właśnie dlatego skomentowałem. To jest lepiej dopasowana odpowiedź. – kleinfreund

1

Od ref 84cfc1cef wersja github z obsługuje per-postu excerpt_separator więc trzeba dodać odwołanie to Gemfile:

gem 'jekyll', github: 'jekyll/jekyll', ref: '84cfc1ceff0474fd3eb3beb193ae59ae43694863' 

i utworzyć wpis o następującej YAML:

--- 
title: Post Excerpt Separator 
excerpt_separator: "\n---\n" 
--- 
2

robi praca dla MU, lub kolekcji Jekyll paniki podczas uderzania oprócz analizowania cieczy. Nie wiem, dlaczego tak jest, powinien działać tak, jak sugerujesz.

istnieje alternatywa:

post.content lub moim przypadku jest: blogX.content i rozbić go przez kilka filtrów tekstowych, które ograniczają wielkość treści.

czyli: {{blog.content | strip_html | truncatewords: 100}}

Powiązane problemy