MIGO Web-Development - разработка и cоздание сайтов в Киеве, Украине

Создание сайтов, поисковое продвижение в Google. Сопровождение, тех.поддержка


звонить: +38 (093) 636 78 08
писать: web@migo.com.ua


Как отобразить анотацию записи в категории для Jekyll

Как отобразить анотацию записи в категории для Jekyll

В этой заметке хочу рассмотреть одну из возможностей показать анотацию вашей записи в блоге или статьи, при условии что вы используете генератор статики Jekyll.

Я довольно часто использую генератор статических сайтов Jekyll, в часности и для компиляции этого веб-сайта в кучу статических файлов (основное преимущество - это, как правило, более безопасный и более быстрый веб-сайт из-за отсутствия серверных обращений к базе данных).

Я столкнулся с несколькими решениями для отображения анотации или выдержки из статьи на главной странице блога или в категории (если вы используете основную тему Jekyll, которая поставляется стандартно, вероятно, это ваш index.html).

Во всяком случае, решение, которое я хочу предложить, предназначено для того, чтобы позволить мне контролировать, какую часть записи блога или статьи я хочу отобразить в качестве анотации. Если я не выберу часть статьи, это нормально, Jekyll просто покажет анотацию сгенирированую из условий по умолчанию.

Да, на всякий случай, если вы не знали, Джекил использует Liquid для его шаблонов.

Пример:

<!-- index.html -->
<p class="post-excerpt">
  
  {% if post.content contains '<!--excerpt.start-->' and post.content contains '<!--excerpt.end-->' %}
    {{ ((post.content | split:'<!--excerpt.start-->' | last) | split: '<!--excerpt.end-->' | first) | strip_html | truncatewords: 20 }}
  {% else %}
    {{ post.content | strip_html | truncatewords: 20 }}
  {% endif %}
  
</p>

<!-- _posts/some-random-post.html -->

<p>
  Тут контент записи/статьи <!--excerpt.start-->это та часть текста которая будет отображатся как анотация к данной записи или статьи<!--excerpt.end-->. Дальше может продолжаться основной контент статьи...
</p>

Если я не добавлю в запись текст выделенный комментариями, открывающим - <!--excerpt.start--> и закрывающим <!--excerpt.end-->, Jekyll самостоятельно извлечет все содержимое записи/статьи, удалит теги HTML и обрежет его длину до 20 слов, после чего поставит многоточие ....

проспект И.Мазепы 5 07300 Украина, Киевская обл., г. Вышгород, +38 (093) 636 78 08
Рассказать друзьям:

comments powered by Disqus