Что и зачем

Hugo - это генератор статических сайтов, написанный на языке Go.

Я нашел его чрезвычайно удобным для ведения собственного блога.

Для меня преимущества перед устаревшими системами вроде Wordpress очевидны:

  • Низкие требования к хостингу (не нужен ни php, ни mysql)
  • Безопасность
  • Для написания постов не обязательно быть online
  • Скорость работы
  • Написание постов в разметке Markdown, а не html

Преимущества перед другими генераторами статических сайтов вроде Jekyll:

  • Не нужно настраивать дополнительное окружение
  • Реально высокая скорость генерации сайта

Итак, поехали.

Установка

Для установки Hugo следует пройти на страницу релизов и скачать оттуда дистрибутив для своей ОС. Так как у меня установлен Linux Ubuntu, то я беру deb-пакет.

Генерация сайта

После установки в консоли пишем:

$ cd ~\Workspace\hugo\my_new_blog
$ hugo new site .

Вторая команда как раз генерирует нужный шаблон сайта в текущей папке.

Создаем первый пост:

$ hugo new blog/first_post.md

Редактируем файл с постом:

$ nano blog/first_post.md

После открытия видим примерно такое содержимое:

+++
date = "2017-02-24T13:32:16+05:00"
title = "first_post"
draft = true

+++

Удаляем строку draft = true. Она сигнализрует Hugo не добавлять данную запись в список постов при генерации финальной версии. После символов +++, начиная со следующей строки, можно добавить текст по вкусу, а так же отредактировать title.

В итоге получится что-то вроде:

+++
date = "2017-02-24T13:32:16+05:00"
title = "Мой первый пост в блоге"

+++
# Заголовок
Очень *полезный* **текст**

Устанавливаем тему оформления для блога:

$ git clone https://github.com/hbpasti/heather-hugo.git themes/heather-hugo

Теперь следует отредактировать главный файл с настройками сайта:

$ nano config.toml

В конец файла добавляем строку theme="heather-hugo". Сохраняем.

Тестовый пуск

Выполняем команду:

$ hugo server -w

Открываем браузер и переходим по адресу localhost:1313. Видим, что наш сайт работает. Можно кликнуть на заголовок поста и увидеть его содержимое, а так же вернуться назад. Так же теперь в режиме реального времени можно редактировать файлы и сразу же видеть результаты в окне браузера.

Заключение

Пока наш блог далек от идеала. Нужно подключить систему комментирования, счетчики аналитики, перевести на русский язык надписи и добавить контакты, а так же страницы с информацией об авторе и его проектах.

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

Здесь можно прочесть о том, как добавить теги к постам.