Резюме содержимого
С помощью переменной .Summary
переменной страницы, Hugo создает резюме содержимого для использования в виде краткой версии в сводных представлениях.
Параметры разделения содержания
- Автоматическое разделение содержания
- Ручное разделение содержания
- Краткое содержание Front Matter
Резюме естественно сопровождать ссылками на исходное содержание, и распространенный шаблон проектирования - видеть эту ссылку в виде кнопки «Подробнее…». Смотрите .RelPermalink
, .Permalink
и .Truncated
переменные страницы.
Автоматическое разделение содержания
По умолчанию Hugo автоматически берет первые 70 слов Вашего контента в качестве резюме и сохраняет их в переменной страницы .Summary
для использования в Ваших шаблонах. Вы можете настроить итоговую длину, установив summaryLength
в конфигурации сайта.
Ручное разделение содержания
В качестве альтернативы Вы можете добавить разделитель содержания <!--more--> там, где Вы хотите разделить статью.
Для организации режима контента, используйте # more
там, где Вы хотите разделить статью.
Контент, который находится перед разделителем содержания, будет использоваться как содержание этого контента и сохраняться в переменной страницы .Summary
со всем неизменным форматированием HTML.
- Pros
- Свобода, точность и улучшенный рендеринг. Все теги HTML и форматирование сохраняются.
- Cons
- Дополнительная работа для авторов контента, поскольку им нужно не забывать набирать <!--more--> (или
# more
для организации контента) в каждом файле содержимого. Это можно автоматизировать, добавив разделитель содержания под заголовком архетипа.
Содержание по Front Matter
Возможно, Вы захотите, чтобы Ваше резюме отличалось от текста, с которого начинается статья. В этом случае Вы можете предоставить отдельное резюме в переменной summary
в заголовке статьи front matter.
- Pros
- Полная свобода текста независимо от содержания статьи. В резюме можно использовать разметку.
- Cons
- Дополнительная работа для авторов контента, так как им нужно написать полностью отдельный фрагмент текста в качестве резюме статьи.
Подбор порядка содержания
Поскольку существует несколько способов, которыми может быть определено резюме, полезно понимать порядок выбора, которому следует Хьюго, когда решает, какой текст должен возвращать .Summary
. Это выглядит следующим образом:
- Если в статье присутствует разделитель содержания <!--more-->, текст вверх к разделителю будет предоставлено в соответствии с методом ручного суммарного разделения
- Если в заголовке статьи есть переменная
summary
, значение переменной будет предоставлено в соответствии с методом краткого обзора основной статьи. - Текст в начале статьи будет предоставлен в соответствии с методом автоматического разбиения резюме.
Пример: первые 10 статей с содержанием
Вы можете отображать содержание контента с помощью следующего кода. Вы можете использовать следующий фрагмент, например, в шаблоне раздела.
{{ range first 10 .Pages }}
<article>
<!-- этот <div> включает заголовок содержания -->
<div>
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ .Summary }}
</div>
{{ if .Truncated }}
<!-- Этот <div> включает ссылку для чтения, но только если содержание усечено ... -->
<div>
<a href="{{ .RelPermalink }}">Read More…</a>
</div>
{{ end }}
</article>
{{ end }}
Обратите внимание, как значение логической переменной .Truncated
может использоваться, чтобы скрыть ссылку« Подробнее… », когда содержимое не усечено; т.е. когда в резюме содержится вся статья.