Шпаргалка по Hugo
Примеры использования Hugo
Шпаргалка ни в коей мере не является альтернативой официальной документации или руководствам по генератору статических сайтов Hugo.
Локальный сервер
Описание команды: https://gohugo.io/commands/hugo_server/#hugo-server
Дефолтный локальный адрес: http://localhost:1313/
Запуск локального сервера с указанием конкретной папки с контентом
Два равнозначных варианта команды:
hugo server --contentDir string
hugo server -c string
Пример:
hugo server --contentDir /Users/zlonov/Library/Mobile\ Documents/iCloud\~md\~obsidian/Documents/🧬live
Автоматический переход к изменённой странице
Два равнозначных варианта команды:
hugo server --navigateToChanged
hugo server -N
Пример:
hugo server --navigateToChanged --contentDir /Users/zlonov/Library/Mobile\ Documents/iCloud\~md\~obsidian/Documents/🧬live
Автоматическое удаление папки со сгенерированным сайтом после остановки сервера
Вторая команда запускается после завершения первой и удаляет папку public
:
hugo server && rm -rf public
Как вариант, папку можно не удалять, а переименовывать. Так и сгенерированный сайт сохранится и при следующем запуске папка public
будет создана с нуля:
hugo server && mv public public_last
Пример:
hugo server --navigateToChanged --contentDir /Users/zlonov/Library/Mobile\ Documents/iCloud\~md\~obsidian/Documents/🧬live && mv public public_last
Содержание
Проверить, что содержание не пустое
{{ with .TableOfContents }}
<!-- the variable is set -->
{{ if ne .TableOfContents "<nav id=\"TableOfContents\"></nav>" }}
<!-- the variable is not an empty navigation -->
{{ . }}
<!-- it is a dot because we are inside of a `with` -->
{{ end }}
{{ end }}
Сокращённый вариант с реальным примером:
{{ if ne .TableOfContents "<nav id=\"TableOfContents\"></nav>" }}
<div class="row">
<div class="col-sm-3 order-sm-2">{{ .TableOfContents }}</div>
<div class="serif main-content col-sm-9 order-sm-1">{{ .Content | markdownify | safeHTML }}</div>
</div>
{{ else }}
<div class="serif main-content">{{ .Content | markdownify | safeHTML }}</div>
{{ end }}
Ccылки
Использование точек в именах файлов
В версии 0.146+ есть
проблема
с использованием точек в именах файлах: Hugo отсекает всё, что идёт после первой точки, поэтому для файла c именем, например, 2025-04 18 10.27.52.md
будет создана страница /2025-04-18-10/index.html
, а не /2025-04-18-10.27.52/index.html
, как хотелось бы.
Варианта решения пока два:
- Отказаться от использования точек, заменив их, например, на дефис:
2025-04 18 10-27-52.md
или нижнее подчёркивание:2025-04 18 10_27_52.md
- Использовать явное указание желаемое результата в параметрах:
slug: 2025-04 18 10.27.52