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

Как показать предварительный просмотр сообщения? (Использование темы Jekyll Bootstrap)

Это, вероятно, простой вопрос, но как показать предварительные просмотры моих сообщений на странице по умолчанию? Я использую тему Jekyll Bootstrap Tom.

4b9b3361

Ответ 1

Просматривая функции здесь, я нашел strip_html и truncatewords.

Здесь приведен пример "списка сообщений" с 75 словами текста предварительного просмотра.

<ul >
    {% for post in site.posts limit 4 %}
    <li><span>{{ post.date | date_to_string }}</span> &raquo; <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
        {{ post.content | strip_html | truncatewords:75}}<br>
            <a href="{{ post.url }}">Read more...</a><br><br>
    {% endfor %}
</ul>

Ответ 2

Это также работает, по крайней мере, с 1.0.0, встроено и прост в использовании.

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      <p>{{ post.excerpt }}</p>
    </li>
  {% endfor %}
</ul>

Смотрите здесь.

Ответ 3

Мне понравился подход комментариев <!--more--> от WordPress, поэтому я написал что-то в этих строках:

_plugins/more.rb:

module More
    def more(input, type)
        if input.include? "<!--more-->"
            if type == "excerpt"
                input.split("<!--more-->").first
            elsif type == "remaining"
                input.split("<!--more-->").last
            else
                input
            end
        else
            input
        end
    end
end

Liquid::Template.register_filter(More)

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

---
layout: post
title: "Your post title"
published: true
---
<p>This is the excerpt.</p>
<!--more-->
<p>This is the remainder of the post.</p>

Затем вы можете использовать его в своих шаблонах:

Показать выдержку (все выше комментария <!--more-->):

<summary>{{ post.content | more: "excerpt" }}</summary>

Показать остаток (все после комментария <!--more-->):

<article>{{ post.content | more: "remaining" }}</article>

Любой аргумент, отличный от excerpt или remaining, просто покажет весь пост.

Ответ 4

Это старый вопрос, который еще хотел бы добавить обходной путь для проблемы форматирования, как показано в @Talon876 answer здесь.

В конце каждого сообщения добавление закрывающих тегов, таких как </em>,</strong> or </b>, может быть не таким аккуратным, но оно поддерживает форматирование, показывая выдержки.

Например:

<ul >
    {% for post in site.posts limit 4 %}
    <li><span>{{ post.date | date_to_string }}</span> &raquo; <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
        {{ post.content | strip_html | truncatewords:75}}
</em></strong>  <!-- This is what does the task-->
<br>
            <a href="{{ post.url }}">Read more...</a><br><br>
    {% endfor %}
</ul>