Резюме содержимого
С помощью переменной .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 может использоваться, чтобы скрыть ссылку« Подробнее… », когда содержимое не усечено; т.е. когда в резюме содержится вся статья.