Создаём блог на Hugo и размещаем бесплатно на GitHub Pages

Почему Hugo?

ХуйГо - это статический генератор сайтов с молниеносной скоростью сборки. Не требует базы данных, сервера, админки. Пишешь статьи в Markdown, коммитишь в Git - и сайт готов.

ХуйГо ладно. Почему блог?

Мне хотелось бы что-нибудь постить и не зависеть от царьков социальных сетей: Никто и ничто по возможности не должны иметь право удалить мой контент или навешать на него рекламу. Я уже давно бугурчу на соц сети, вот вам просто табличку бугурта:

Соц сеть/площадка для блоговНедостатокСижу ли?
vk.comСтроил профессиональный плиточник - куча плиток, ненужных микроприложений. Предложка укатилась в дноНе сижу с 2019 года
ok.ruНе моя аудитория, но приятные блестки и анимацииУ меня был там аккаунт под проект бота-астролога, прикиньте 😄
TelegramКак бы я ни любил телегу - это не соц сеть! Нет общего спейса, где можно завируситься. Пашка ввел общую рекламу в каналах, тем самым обкрадывает контент мейкеров - платят не владельцам канала, а Пашке в TG ADS👎🏻 На вирусных подарках опять же богатеет только сам Пашка, интереса делать полноценный контент в тг особо не фиксируюВеду свой канал, но бугурчу. Пашка скоро блестки добавит и юбку наденет. Есть некоторый уход от качественного роста Telegram
PikabuМного всякого народа, много постов. Хотелось бы своё отдельное независимое место, а не копить авторитет на чужой площадке, которую легко потерятьПод проект делал аккаут
InstagramНе всегда люблю фоткаться. Слишком много жрет время эта хрень. Да и блочат ее, не перспективно работать на инсту а потом узнать, что потеряешь всё.Есть аккаунт, не сижу почти.
TikTokВидосы пока для меня мимо. Время жрет сильно, хочется аккаумулировать время более продуктивноНе сижу
x.com(твиттер)А вот сижу(: Там неплохо на самом деле. Позаботились о переводе постов на твой родной язык. Это реально стирает границы. А так же включена монетизация для авторов - это реально на ступень выше всех остальных “Царьков” которые считают свои площадки личной вотчиной для рекламы.Сижу, есть интересные посты

Ладно, не отвлекаемся. Пошла матчасть..

Установка Hugo

sudo apt install hugo
hugo new site myblog

Выбор темы

Зайди на themes.gohugo.io(vpn нужен из РФ), выбери красивую тему или простецкую (например, XMag, как у меня) и установи:

git submodule add https://github.com/yihui/hugo-xmag.git themes/hugo-xmag

Создание репозитория GitHub Pages

  1. Создай репозиторий glebgv.github.io
  2. Настрой Settings → Pages → Source: GitHub Actions
  3. Добавь GitHub Actions workflow для автоматической сборки

Добавление контента

Статьи хранятся в .md файлах, если ты о них не слышал, то почитай. Будем двигаться дальше.

Создание статьи:

hugo new post/my-article.md

Пиши в Markdown, коммить в main, GitHub Actions соберёт сайт автоматически.

Добавление своего домена

После настройки GitHub Pages можно подключить свой домен (например, glebgv.ru).

1. DNS настройки у регистратора домена

nic.ru в качестве DNS провайдера не берите, там платно хранить DNS и это важная наёбка доверчивого блоггера. Вам важно, чтобы “DNS хостинг” как его называют - был бесплатный, мы же с вами те ещё жуки, верно?

Домен зарегали, DNS бесплатный у нас, окей, заходим в панель(На примере хостинга beget).

Создай 4 A-записи для IP-адресов GitHub Pages:

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

Важно: Остальные любые А записи удаляем - домен должен вести на GitHub

Получается так:

Для www добавь CNAME:

Type: CNAME Host: www Value: glebgv.github.io

Вот так выглядит:

⚠️ Внимание: Изменения DNS распространяются 1-48 часов.

2. Настройка в GitHub

  1. SettingsPagesCustom domain
  2. Введи домен: glebgv.ru
  3. Нажми Save
  4. Дождись “DNS check successful”

Проверка идет:

Всё ок:

3. Включение HTTPS

Отметь галочку Enforce HTTPS — GitHub выдаст бесплатный SSL-сертификат автоматически. Еще одна несравнимая польза. Некоторые хостинги берут бабки за SSL - сдуреть можно.

4. Обновление Hugo config

В hugo.toml укажи новый домен. У меня так:

baseURL = "https://glebgv.ru/"

Результат

Бесплатный блог на кастомном домене с HTTPS, CDN и нулевыми затратами! Позже разберу, как запилить своего тг бота, чтобы можно было писать посты. Ведь ограничение у такого метода - надо после каждых правок закидывать статьи в git руками.


Находите меня первыми: