Подтвердить что ты не робот

Как использовать markdownify в Jekyll, чтобы показать выдержку по индексу

Я хочу показать короткую выдержку текста из более длинного сообщения или страницы на индексной странице. Я собирался использовать пользовательскую переменную в Front Matter и захватить ее, но затем я увидел фильтр для .excerpt

Я вижу в Jekyll docs что-то называемое {{ page.excerpt | markdownify }}. Как бы пометить уценку на странице или сообщении, чтобы использовать этот фильтр?

edit: Или уделение внимания на весь документ .md?

4b9b3361

Ответ 1

В файлах после отметки вы должны сначала установить свою выдержку, вот пример из одного из моих сообщений

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.

Затем на индексной странице вызовите тег

{{ post.excerpt }}

Затем это должно выводить то, что вы написали в файле уценки. Приятно и просто и почему я люблю Джекила.

Ответ 2

Jekyll имеет опцию excerpt_separator, которая подходит именно вам. Все идет так:

В _config.yml:

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

В вашем сообщении:

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

This appears in your `index.html`

This appears, too.

<!--more-->

This doesn't appear. It is separated.

Обратите внимание, что вы должны ввести точно <!--more-->, а не <!--more--> или <!-- more -->.

В вашем index.html:

<!-- Loop in you posts -->
{% for post in site.posts %}
  <!-- Here the header -->
  <header>
    <h2 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h2>
  </header>

  <!-- Your post summary goes here -->
  <article>{{ post.excerpt }}</article> 
{% endfor %}

Вывод выглядит следующим образом:

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

<article>

This appears in your `index.html`

This appears, too.

</article>

Ответ 3

не работает для mu или коллекций, jekyll panics при попадании на исключающую жидкость для анализа. Я не знаю, почему это так, он должен работать, как вы предлагаете.

есть альтернатива:

post.content или в моем случае: blogX.content и разбить его через некоторые текстовые фильтры, которые ограничивают размер содержимого.

а именно: {{blog.content | strip_html | truncatewords: 100}}

Ответ 4

Как и в случае ref 84cfc1cef версия github поддерживает per-post excerpt_separator, поэтому вам нужно добавить ссылку на Gemfile:

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

и создайте сообщение со следующим YAML:

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