Функциональность

Фреймворк

Мультиплатформенность
Установите единственный исполняемый файл Hugo на Linux, macOS, Windows и другие платформы.
Мультиязычность
Локализуйте проект для каждого языка и региона, включая переводы, изображения, даты, валюты, числа, проценты и последовательность символов. Мультиязычный фреймворк Hugo поддерживает однохостовые и многохостовые конфигурации.
Форматы вывода
Верните каждую страницу вашего сайта в один или несколько выходных форматов, с возможностью детального контроля по типу страницы, разделу и пути. Хотя по умолчанию используется формат HTML, вы можете добавить JSON, RSS, CSV и другие. Например, создайте REST API для доступа к содержимому.
Шаблоны
Создавайте шаблоны с помощью переменных, функций и методов для преобразования содержимого, ресурсов и данных в опубликованную страницу. Хотя шаблоны HTML являются наиболее распространенными, вы можете создавать шаблоны для любого формата вывода.
Темы
Сократите время и стоимость разработки, используя одну из сотен тем, созданных сообществом Hugo. Темы доступны для корпоративных сайтов, проектов документации, портфолио изображений, целевых страниц, личных и профессиональных блогов, резюме, автобиографий и многого другого.
Модули
Сократите время и стоимость разработки за счет создания или импорта упакованных комбинаций архетипов, активов, контента, данных, шаблонов, таблиц перевода, статических файлов или параметров конфигурации. Модуль может служить основой для нового сайта или дополнять существующий.
Приватность
Настройте поведение встроенных шаблонов и шорткодов Hugo, чтобы обеспечить соответствие региональным нормам конфиденциальности, включая GDPR и CCPA.
Безопасность
Модель безопасности Hugo основана на том, что авторам шаблонов и конфигураций доверяют, а авторам контента - нет. Эта модель позволяет генерировать HTML-вывод, защищенный от внедрения кода. Другие средства защиты предотвращают «пересылку» в произвольные приложения, ограничивают доступ к определенным переменным окружения, предотвращают соединения с произвольными удаленными источниками данных и многое другое.

Создание контента

Форматы контента
Создавайте контент с помощью Markdown, HTML, AsciiDoc, Emacs Org Mode, Pandoc или reStructuredText. По умолчанию используется формат Markdown, соответствующий спецификациям CommonMark и GitHub Flavored Markdown.
Атрибуты Markdown
Применяйте атрибуты HTML, такие как class и id, к изображениям и блочным элементам Markdown, включая блочные кавычки, блоки кода, заголовки, горизонтальные линии, списки, абзацы и таблицы.
Расширения Markdown
Используйте встроенные расширения Markdown для создания таблиц, списков определений, сносок, списков задач, вставленного текста, маркированного текста, подписей, надписей и многого другого.
Хуки для рендеринга Markdown
Переопределите преобразование Markdown в HTML при отображении блочных цитат, огражденных блоков кода, заголовков, изображений, ссылок и таблиц. Например, каждое отдельное изображение отображается как элемент HTML figure.
Диаграммы
Используйте огражденные блоки кода и хуки рендеринга Markdown для включения диаграмм в содержимое.
Математика
Включайте математические уравнения и выражения в Markdown, используя синтаксис набора LaTeX или TeX.
Подсветка синтаксиса
Синтаксически выделяйте примеры кода с помощью встроенного в Hugo синтаксического маркера, который по умолчанию включен для блоков кода в Markdown. Выделитель синтаксиса поддерживает сотни языков кода и десятки стилей.
Шорткоды
Используйте встроенные шорткоды Hugo или создавайте свои собственные для вставки сложного контента. Например, с помощью шорткодов можно включать элементы аудио и видео, выводить таблицы из локальных или удаленных источников данных, вставлять фрагменты с других страниц и многое другое.

Управление контентом

Адаптеры контента
Создавайте адаптеры контента для динамического добавления содержимого при создании сайта. Например, используйте адаптер контента для создания страниц из удаленного источника данных, такого как JSON, TOML, YAML или XML.
Таксономия
Классифицируйте содержимое для установки простых или сложных логических связей между страницами. Например, создайте таксономию авторов и назначьте одного или нескольких авторов для каждой страницы. Помимо прочего, система таксономии обеспечивает инвертированный, взвешенный индекс для вывода списка связанных страниц, упорядоченных по релевантности.
Данные
Дополните свой контент, используя локальные или удаленные источники данных, включая CSV, JSON, TOML, YAML и XML. Например, создайте шорткод для вывода HTML-таблицы из удаленного CSV-файла.
Меню
Provide rapid access to content via Hugo’s menu system, configured automatically, globally, or on a page-by-page basis. The menu system is a key component of Hugo’s multilingual architecture.
Управление URL
Подача любой страницы с любого пути с помощью глобальной конфигурации или постранично.

Конвейеры активов

Обработка изображений
Конвертируйте, изменяйте размер, кадрируйте, поворачивайте, настраивайте цвета, применяйте фильтры, накладывайте текст и изображения, извлекайте данные EXIF.
Комплектация JavaScript
Транспайлинг TypeScript и JSX в JavaScript, пакетирование, древовидный шейпинг, минификация, создание карт исходников и выполнение SRI-хеширования.
Обработка Sass
Транспайлинг Sass в CSS, пакетирование, древовидный шейпинг, минификация, создание карт исходников, хеширование SRI и интеграция с PostCSS.
Обработка Tailwind CSS
Компилируйте классы утилит Tailwind CSS в стандартный CSS, объединяйте, перемешивайте деревья, оптимизируйте, минимизируйте, выполняйте SRI-хеширование и интегрируйте с PostCSS.

Производительность

Кэширование
Сократите время и затраты на создание сайта за счет однократного рендеринга частичного шаблона и последующего кэширования результата, глобального или в определенном контексте. Например, кэшируйте результат конвейера активов, чтобы избежать повторной обработки на каждой отрисованной странице.
Сегментация
Сократите время и затраты на создание сайта, разбив свои сайты на сегменты. Например, главная страница и «новостной раздел» рендерятся каждый час, а весь сайт - раз в неделю.
Минификация
Минифицируйте HTML, CSS и JavaScript чтобы уменьшить размер файла, пропускную способность и время загрузки.