Создание блога с помощью Hugo. В последнее время статические сайты стали очень популярны. Вероятнее всего, это связано с тем, что их довольно легко поддерживать, а для публикации доступно множество платформ. Если раньше для создания статического сайта приходилось работать непосредственно с HTML, то сейчас для большинства задач достаточно знания Markdown. Сайты на Hugo отлично подходят для персональных страниц, содержимое которых не нужно обновлять слишком часто. Hugo — это набор инструментов, позволяющий генерировать статический сайт из Markdown-файлов и шаблонов. Мне также нравится, что существуют готовые Docker-образы: с ними можно создать и собрать сайт, не устанавливая Go, Hugo и другие компоненты локально.
Итак, приступим.
Если у вас установлен Linux и Docker (docker.com), потребуется выполнить всего несколько шагов.
Создайте пустой сайт в каталоге vasylchenko.me следующей командой:
docker run --rm -it -v $(pwd)/:/src klakegg/hugo:ext new site vasylchenko.me
Затем перейдите в созданный каталог командой cd vasylchenko.me.
После этого инициализируйте Git-репозиторий для контроля версий:
git init
Теперь пора выбрать тему. Список популярных тем можно найти на сайте themes.gohugo.io. Например, для этого сайта я выбрал тему Devise. Перейдите на страницу темы, а затем выполните следующую команду:
git submodule add https://github.com/austingebauer/devise themes/devise
Она добавит репозиторий темы в каталог themes нашего сайта как Git submodule.
Теперь у нас есть каталог самого сайта vasylchenko.me и каталог темы vasylchenko.me/themes/devise.
Далее необходимо указать выбранную тему в конфигурации Hugo.
Это можно сделать вручную или с помощью команды:
echo 'theme = "devise"' >> config.toml
Остаётся собрать сайт и проверить результат:
docker run --rm -it -v $(pwd):/src klakegg/hugo:ext
После сборки откройте каталог vasylchenko.me/public и запустите файл index.html в браузере.
Если сайт выглядит так, как ожидалось, содержимое каталога можно загрузить на статический хостинг.