Hugo. Использование page bundle
2026-03-03
·
2 мин. для прочтения
Hugo. Использование page bundle.
Содержание
1 Общая информация
- В Hugo существует два основных способа организации контента:
- страница как отдельный файл (например,
content/about.md); - страница как каталог (page bundle) — папка с файлом
index.mdи связанными ресурсами (изображения, pdf и т.д.).
- страница как отдельный файл (например,
- Для большинства современных проектов предпочтительнее использовать page bundles.
2 Страница как отдельный файл
- Каждый Markdown-файл соответствует одной странице:
content/ about.md blog/ first-post.md second-post.md
2.1 Плюсы
- Простота и минимализм — не нужно создавать папки для каждой страницы.
- Легко создавать новые страницы одной командой (
hugo new about.md). - Подходит для простых сайтов с минимальным количеством медиафайлов.
2.2 Минусы
- Все изображения и прочие ресурсы, относящиеся к странице, приходится хранить в глобальной папке
staticилиassets.- Это затрудняет организацию: файлы разных страниц перемешиваются, при переносе страницы нужно вручную искать и копировать связанные ресурсы.
- Нет чёткой привязки ресурсов к конкретной странице.
- Для многоязычных сайтов приходится использовать дополнительные соглашения об именах.
3 Page bundle (каталог страницы)
Подход, рекомендованный разработчиками Hugo.
Страница представлена папкой, внутри которой находится файл
index.mdи все сопутствующие ресурсы:content/ about/ index.md photo.jpg blog/ first-post/ index.md image.png second-post/ index.md diagrams/ scheme1.pngДва типа page bundle:
- Leaf bundle — обычная страница без вложенных дочерних страниц.
- Branch bundle — страница-раздел (например, раздел блога), который может содержать дочерние страницы.
- В таком случае используется файл
_index.md.
- В таком случае используется файл
3.1 Плюсы
- Локальность ресурсов — все изображения, документы и другие файлы, относящиеся к странице, находятся в той же папке.
- Удобство в шаблонах — можно обращаться к ресурсам через
.Resources, использовать методы обработки изображений прямо из папки страницы. - Лучшая поддержка многоязычности — для каждого языка можно создать свою папку с собственными ресурсами.
- Переносимость — страницу вместе со всеми вложениями легко скопировать.
- Организация сложных структур — если страница требует много файлов, папка позволяет держать всё вместе.
3.2 Минусы
- Усложнение структуры — для каждой страницы нужно создавать отдельную папку.
- При большом количестве простых страниц (без медиа) количество папок может показаться избыточным.
4 Сравнение
| Критерий | Отдельный файл | Page bundle |
|---|---|---|
| Управление ресурсами | Ресурсы хранятся глобально, трудно отслеживать принадлежность | Все ресурсы локальны, легко управлять |
| Переносимость | Низкая — нужно отдельно переносить файлы из static | Высокая — вся страница в одной папке |
| Простота | Высокая | Средняя (требуется создавать папку) |
| Поддержка в темах | Базовая | Расширенная (методы .Resources, обработка изображений) |
| Многоязычность | Требует внешних соглашений | Встроенная поддержка через локализованные папки |
| Производительность | Одинаковая | Одинаковая |

Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы.
Научные интересы относятся к области теоретической физики и математического моделирования.