Початок роботи з Hugo

Published June 17, 2024

Створення блогу з Hugo. Останнім часом статичні сайти стали дуже популярними. Це, швидше за все, тому що їх досить легко підтримувати, і є багато платформ для їх публікації. Наприклад, якщо раніше потрібно було працювати з HTML для створення статичних сайтів, то зараз знань markdown буде достатньо для більшості завдань. Сайти на Hugo чудово підходять для персональних сторінок, коли вам не потрібно часто оновлювати контент. Hugo - це набір інструментів, який дозволяє генерувати статичний сайт з файлів markdown та шаблонів. Мені також дуже подобається наявність Docker образів, які можуть створювати та збирати сайт без встановлення Go, Hugo та інших компонентів.

Отже, почнемо. Якщо у вас встановлено Linux з Docker (https://www.docker.com), вам потрібно виконати лише кілька кроків. Створіть порожній сайт у папці vasylchenko.me за допомогою цієї команди: docker run --rm -it -v $(pwd)/:/src klakegg/hugo:ext new site vasylchenko.me Далі перейдіть до цієї папки командою cd vasylchenko.me. Після цього нам потрібно створити Git-репозиторій для контролю версій. Для цього виконайте команду git init.

Час вибрати тему. Список доступних популярних тем можна переглянути за посиланням https://themes.gohugo.io. Наприклад, я обрав тему https://themes.gohugo.io/devise/. Перейдіть за посиланням на головну сторінку теми і виконайте команду git submodule add https://github.com/austingebauer/devise themes/devise, щоб встановити тему. Ця команда додасть тему з репозиторію в папку themes нашого сайту.

Отже, у нас є папка з сайтом vasylchenko.me і папка з темою vasylchenko.me/themes/devise. Тепер потрібно додати рядок до конфігураційного файлу, вказуючи обрану тему. Це можна зробити, відредагувавши файл або виконавши команду echo 'theme = "devise"' >> config.toml.

Нарешті, давайте зберемо сайт і перевіримо результат. docker run --rm -it -v $(pwd):/src klakegg/hugo:ext Тепер ви можете перейти до папки vasylchenko.me/public і відкрити файл index.html у своєму веб-браузері. Якщо сайт виглядає так, як очікувалося, його можна завантажити на статичний хостинг.