Hugo
Участники открытого проекта Hugo на GitHub, основные авторы bep и spf13 · лицензия Apache-2.0
Превращает тексты в Markdown в статичный сайт или блог: HTML-страницы, карта сайта и лента RSS. Показывает сайт на компьютере, папку public кладут на хостинг статичных сайтов.
✓ Проверено 09.10.2026: Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: Hugo 0.167.0, стандартная редакция из готового файла выпуска на GitHub. Что именно проверяли
Какую задачу решает
Собирает статичный сайт или блог из папки с текстами в Markdown: готовые HTML-страницы, карту сайта sitemap.xml и ленту RSS. Агент показывает сайт у вас на компьютере, а готовую папку public можно разместить на хостинге, который отдаёт статичные сайты. Выкладку на хостинг мы не проверяли.
- Превращает страницы Markdown в HTML по шаблонам, тестовый сайт из трёх страниц в нашем прогоне собрался за 105 мс, так написала сама Hugo.
- Сама пишет sitemap.xml и ленту RSS, в прогоне в них попали адреса и заголовки страниц.
- Страницы с пометкой draft = true в обычную сборку не берёт, черновики собираются отдельно ключом --buildDrafts.
- Командой hugo server показывает сайт по адресу 127.0.0.1:1313 и следит за правками в папке проекта.
- При ошибке в шаблоне отвечает кодом 1 и называет файл и строку, поэтому агент видит, что поправить.
Пример результата
Говоришь агенту
Сделай мне простой сайт на Hugo в папке site: главная со списком заметок, страница «О проекте» и заметка из двух абзацев со списком. Ещё одну заметку пометь черновиком. Собери сайт и покажи, какие файлы получились.
Что получится
В папке site/public появятся index.html, страницы about и posts/first, sitemap.xml и лента index.xml. Агент проверит, что на главной есть ссылки на обе страницы, а черновика нет ни в одном файле. Этот сценарий мы прогнали на тестовых страницах: 9 файлов, 60 КБ, исходные файлы после сборки не изменились.
Паспорт
- Кто делает
- Участники открытого проекта Hugo на GitHub, основные авторы bep и spf13
- Сайт
- gohugo.io
- Исходный код
- github.com/gohugoio/hugo
- Инструкция
- gohugo.io/documentation
- Лицензия
- Apache-2.0
- Версия
- 0.167.0 на 09.10.2026
- Системы
- macOS · Windows · Linux
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Проверено 09.10
Установить агентом
Установи программу «Hugo». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 09.10.2026):
- официальный сайт: https://gohugo.io/
- исходный код: https://github.com/gohugoio/hugo
- инструкция по установке: https://gohugo.io/documentation/
- актуальная версия на 09.10.2026: 0.167.0
- лицензия: Apache-2.0
- для работы нужно (в отдельных случаях): Homebrew - на Mac Hugo ставится через него
- для работы нужно (в отдельных случаях): Git - нужен для темы, которую ставят подмодулем Git, для модулей Hugo и для выкладки через Git, так написано в документации
- для работы нужно (в отдельных случаях): Dart Sass - пригодится, если стили сайта написаны на Sass
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Перед сборкой покажи, какие страницы и шаблоны в проекте, и назови папку вывода из publishDir в hugo.toml. Если она за пределами папки проекта, спроси меня. После сборки назови, какие файлы там появились.
7. Темы, модули и выкладку на хостинг (hugo deploy, Git) подключай только с моего «да», назови тему или адрес. Перед hugo deploy сначала покажи список изменений командой hugo deploy --dryRun.
8. Не запускай сборку с --cleanDestinationDir и не открывай hugo server наружу (--bind 0.0.0.0) без моего разрешения.
9. Черновики (draft = true) в обычную сборку не включай, собирай их отдельно в другую папку.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
- на сервере: окно программе не нужно. Сборка сайта в нашем прогоне не открыла ни одного сетевого соединения. Сервер hugo server по документации сделан для просмотра во время работы, выкладывают папку public.
- в контейнере: мы проверяли в контейнере Ubuntu 24.04, хватило одного файла hugo.
1. Проверь, не стоит ли программа уже: hugo version ; which -a hugo. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно Готовый файл 0.167.0 для Linux x86_64 (стандартная редакция) занял 58 МБ (60 371 104 байта), архив весит 20 970 860 байт. Собранный тестовый сайт из трёх страниц занял 60 КБ. Сколько займёт установка через Homebrew или winget, мы не мерили..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS, Homebrew: brew install hugo (эта команда ставит редакцию extended/deploy, версия формулы на 09.10.2026 - 0.167.0. Других пакетов для работы формула не ставит, Go в ней указан только для сборки. На Mac мы не проверяли)
- Windows, winget: winget install -e --id Hugo.Hugo.Extended (команда из документации, ставит редакцию extended. На Windows мы не проверяли)
- Linux, готовый файл с GitHub: curl -LO https://github.com/gohugoio/hugo/releases/download/v0.167.0/hugo_0.167.0_linux-amd64.tar.gz && tar -xzf hugo_0.167.0_linux-amd64.tar.gz hugo && mkdir -p ~/.local/bin && mv hugo ~/.local/bin/hugo (в прогоне мы скачали этот архив, распаковали и скопировали файл hugo в ~/.local/bin. Это стандартная редакция для x86_64 (для ARM64 есть hugo_0.167.0_linux-arm64.tar.gz). Документация велит положить файл в папку из PATH. Если ~/.local/bin в PATH нет, команду вызывают полным путём. Сверить архив можно по файлу hugo_0.167.0_checksums.txt выпуска)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- hugo version: программа запускается без ошибки;
- Заведи проект командой hugo new site и перейди в его папку. До первой сборки напиши hugo.toml и четыре простых шаблона, добавь три страницы Markdown, одну из них с draft = true. Собери сайт и проверь public: главная ссылается на обе страницы, Markdown стал HTML, в sitemap.xml и RSS есть заметка, черновика нет нигде. Черновики сложи отдельной сборкой в другую папку, потом сломай шаблон и убедись, что сборка падает с кодом 1. Сверь контрольные суммы исходных файлов, открой страницу через hugo server и останови его. Делай это во временной папке и не трогай мои файлы.
hugo version
hugo new site site --format toml
cd site
hugo build --minify
hugo build --buildDrafts --destination ../public-drafts
hugo build
hugo server --port 1313 --bind 127.0.0.1
curl -s http://127.0.0.1:1313/posts/first/
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall hugo; Windows, winget: winget uninstall -e --id Hugo.Hugo.Extended; Linux, готовый файл с GitHub: rm ~/.local/bin/hugo).
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/hugo#problemyПромпт собран из официальных инструкций, сверенных 09.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS · Homebrew · источник
brew install hugo
эта команда ставит редакцию extended/deploy, версия формулы на 09.10.2026 - 0.167.0. Других пакетов для работы формула не ставит, Go в ней указан только для сборки. На Mac мы не проверяли
Windows · winget · источник
winget install -e --id Hugo.Hugo.Extended
команда из документации, ставит редакцию extended. На Windows мы не проверяли
Linux · готовый файл с GitHub · источник
curl -LO https://github.com/gohugoio/hugo/releases/download/v0.167.0/hugo_0.167.0_linux-amd64.tar.gz && tar -xzf hugo_0.167.0_linux-amd64.tar.gz hugo && mkdir -p ~/.local/bin && mv hugo ~/.local/bin/hugo
в прогоне мы скачали этот архив, распаковали и скопировали файл hugo в ~/.local/bin. Это стандартная редакция для x86_64 (для ARM64 есть hugo_0.167.0_linux-arm64.tar.gz). Документация велит положить файл в папку из PATH. Если ~/.local/bin в PATH нет, команду вызывают полным путём. Сверить архив можно по файлу hugo_0.167.0_checksums.txt выпуска
Как удалить
- macOS, Homebrew:
brew uninstall hugo - Windows, winget:
winget uninstall -e --id Hugo.Hugo.Extended - Linux, готовый файл с GitHub:
rm ~/.local/bin/hugo
Что нужно для работы
- Homebrew (в отдельных случаях) - на Mac Hugo ставится через него
- Git (в отдельных случаях) - нужен для темы, которую ставят подмодулем Git, для модулей Hugo и для выкладки через Git, так написано в документации
- Dart Sass (в отдельных случаях) - пригодится, если стили сайта написаны на Sass
Системы
- macOS - по документации ставится через Homebrew или MacPorts, у выпуска есть и готовый установщик .pkg. На Mac мы Hugo не ставили и не запускали.
- Windows - по документации нужна Windows 10, Windows Server 2016 или новее, ставится через winget, Chocolatey, Scoop или готовым архивом. На Windows мы не проверяли.
- Linux - готовый файл из выпуска на GitHub в нашем прогоне хватило скопировать в папку из PATH. Есть сборки для x86_64, ARM64 и ARM, пакеты .deb, Snap и пакеты дистрибутивов, версия в последних бывает старше.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
- На сервере - окно программе не нужно. Сборка сайта в нашем прогоне не открыла ни одного сетевого соединения. Сервер hugo server по документации сделан для просмотра во время работы, выкладывают папку public.
- В контейнере - мы проверяли в контейнере Ubuntu 24.04, хватило одного файла hugo.
Сколько ресурсов нужно
- Место на диске
- Готовый файл 0.167.0 для Linux x86_64 (стандартная редакция) занял 58 МБ (60 371 104 байта), архив весит 20 970 860 байт. Собранный тестовый сайт из трёх страниц занял 60 КБ. Сколько займёт установка через Homebrew или winget, мы не мерили.
- Видеокарта
- В нашем прогоне видеокарта не понадобилась.
- Сеть
- Для установки нужна сеть: архив скачивался с github.com, загрузка переадресуется на release-assets.githubusercontent.com, адреса разрешал внутренний DNS-сервер контейнера 127.0.0.11. Заготовка проекта, две сборки сайта и сборка с ошибкой не открыли ни одного соединения. hugo server в прогоне слушал только 127.0.0.1. В сеть Hugo ходит, если шаблон скачивает файл функцией resources.GetRemote или проект подключает модули и темы: по документации адреса для GetRemote ограничивает настройка security.http.urls. Команда hugo deploy подключается к хранилищу Amazon S3, Azure Blob Storage или Google Cloud Storage, адрес которого записан в настройках проекта, и меняет там файлы.
Команда hugo build --minify по своему отчёту собрала тестовый сайт за 105 мс, а весь вызов по часам скрипта вместе с запуском программы занял 896 мс. Сборка с черновиками в другую папку заняла 82 мс по отчёту Hugo.
Лицензия и платные замены
Лицензия Apache-2.0. Программа свободная, лицензия Apache License 2.0 лежит в репозитории и в архиве выпуска. Встроенные сторонние части идут со своими лицензиями, README называет libwebp (BSD-3-Clause), KaTeX (MIT) и QuickJS. Текст лицензии
Цена: Бесплатно. Программа бесплатная, платных тарифов у проекта нет.
Платные замены
Платной программы, которая так же собирает сайт из папки Markdown-файлов, мы не назвали. Конструкторы сайтов вроде Tilda работают в браузере в своём редакторе, а статичный HTML Tilda по странице тарифов выгружает только на тарифе Business.
Бесплатные замены
- Jekyll - Бесплатный генератор статичных сайтов и блогов из текстовых файлов, написан на Ruby, лицензия MIT. Мы его не ставили.
О чём помнить
- Безопасность. Агент запускает hugo в терминале сам (exec). Программа читает файлы проекта: тексты, шаблоны, настройки, картинки (read). По документации у шаблонов доступ к файлам только на чтение, а произвольной команды из шаблона запустить нельзя. Внешние программы Hugo запускает только из списка допуска security.exec.allow: по исходному коду 0.167.0 в нём по умолчанию sass, dart-sass, go, git, node и postcss, и проект может этот список поменять в своих настройках. Готовый сайт Hugo пишет с правами пользователя в папку из настройки publishDir в hugo.toml (по умолчанию public) или по пути из ключа --destination, который задаёт агент (write). Старые файлы в public по документации остаются после удаления страниц, а ключ --cleanDestinationDir удаляет из public всё лишнее, включая положенные туда руками CNAME и _redirects (acts). Команда hugo deploy есть в редакциях deploy и extended/deploy, её ставит brew: она отправляет public в хранилище Amazon S3, Azure Blob Storage или Google Cloud Storage под вашим входом в это облако, перезаливает изменённые файлы и удаляет там файлы, которых нет в public, по умолчанию не больше 256 (acts). Мы её не запускали, в проверенной стандартной редакции её нет. Своего входа Hugo не просит.
- Сервер hugo server по документации сделан только для просмотра во время работы и по умолчанию слушает 127.0.0.1. Выкладывают на хостинг папку public после hugo build.
- Готовая тема из каталога тем приходит со своими шаблонами, а шаблонам Hugo по документации доверяет. Тему мы в прогоне не ставили.
- Команды brew, apt, snap и winget без номера ставят ту версию, что сейчас в их каталоге. Мы проверили 0.167.0. Если стоят две копии, which -a hugo покажет, какая вызывается первой.
Частые проблемы
ERROR error building site, рядом имя шаблона и номер строки, код выхода 1
Ошибка в шаблоне, так было в прогоне со сломанной фигурной скобкой. Открой названный файл и строку, поправь шаблон и собери заново.
WARN found no layout file for "html" for kind "taxonomy"
В проекте нет шаблона для страниц рубрик и меток. В прогоне Hugo это только предупредила, сайт собрался. Если рубрики не нужны, предупреждение можно оставить. Если нужны, добавь шаблон или поставь тему.
WARN deprecated: project config key languageCode was deprecated in Hugo v0.158.0
В настройках стоит старое имя ключа, Hugo предлагает новое locale. Замени languageCode на locale в hugo.toml.
hugo version показывает старую версию
Стоят две копии, например из пакета дистрибутива и в ~/.local/bin, и первой в PATH стоит старая. Посмотри which -a hugo и вызывай нужную копию полным путём. Правку PATH агент делает только с твоего «да».
Проверка
✓ Проверено 09.10.2026: Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: Hugo 0.167.0, стандартная редакция из готового файла выпуска на GitHub.
- Когда
- 09.10.2026
- Среда
- Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: Hugo 0.167.0, стандартная редакция из готового файла выпуска на GitHub
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Скачали с GitHub архив hugo_0.167.0_linux-amd64.tar.gz (20 970 860 байт) и сверили его контрольную сумму sha256 с той, что указана у выпуска.
- Распаковали архив и скопировали файл hugo в ~/.local/bin. Он занял 58 МБ, hugo version вывел «hugo v0.167.0-3fff6fb5c267dacb26280c78dbe8c344054249c8 linux/amd64». Ничего больше ставить не пришлось.
- Командой hugo new site завели проект и перешли в его папку. До первой сборки скрипт прогона сам написал hugo.toml, четыре простых шаблона и три тестовые страницы в Markdown, одна из них помечена черновиком.
- Собрали сайт командой hugo build --minify, Hugo сообщила о сборке за 105 мс. В папке public появились 9 файлов на 60 КБ: главная, страница о проекте, заметка, список заметок, sitemap.xml и ленты RSS.
- Скрипт сверил результат: на главной есть ссылки на обе страницы, жирный текст и список из Markdown стали HTML, адрес заметки есть в sitemap.xml, её заголовок есть в ленте RSS. Черновика нет ни в одном файле public.
- Ключом --buildDrafts собрали черновики в отдельную папку, там черновик появился. Шаблон с ошибкой дал код 1 и сообщение с именем шаблона и строкой.
- Контрольные суммы всех исходных файлов после сборок не изменились. Запустили hugo server на 127.0.0.1:1313, страница заметки открылась, после этого сервер остановили. Каждый результат скрипт сверил сам и только после этого напечатал TASK_OK.
- Сетевые соединения записаны по этапам. Архив скачивался с github.com и release-assets.githubusercontent.com, адреса разрешал внутренний DNS-сервер контейнера 127.0.0.11. Заготовка проекта и сборки не открыли ни одного соединения.
- Удалили файл ~/.local/bin/hugo и проверили, что команда hugo больше не находится. Контейнер после прогона удалён вместе со всеми тестовыми файлами.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 09.10.2026 | 0.167.0 | задача | контейнер, Linux | получилось |
| 09.10.2026 | 0.167.0 | задача | контейнер, Linux | получилось |
| 09.10.2026 | 0.167.0 | задача | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
- PandocПереводит документы из формата в формат: Markdown в Word и PDF, Word в Markdown. Агенту нужен, чтобы отдавать результат так, как его ждут люди.
- TypstСобирает PDF из текстовой разметки: счёт, КП, отчёт. Данные берёт из JSON или CSV и сама считает итоги по формулам шаблона.
- GitТочки сохранения для проекта: агент сохраняет состояние перед большой правкой, и любую поломку можно откатить. Ещё через Git проект выкладывают на GitHub.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.