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

Почему Hugo?
ХуйГо - это статический генератор сайтов с молниеносной скоростью сборки. Не требует базы данных, сервера, админки. Пишешь статьи в Markdown, коммитишь в Git - и сайт готов.
ХуйГо ладно. Почему блог?
Мне хотелось бы что-нибудь постить и не зависеть от царьков социальных сетей: Никто и ничто по возможности не должны иметь право удалить мой контент или навешать на него рекламу. Я уже давно бугурчу на соц сети, вот вам просто табличку бугурта:
| Соц сеть/площадка для блогов | Недостаток | Сижу ли? |
|---|---|---|
| vk.com | Строил профессиональный плиточник - куча плиток, ненужных микроприложений. Предложка укатилась в дно | Не сижу с 2019 года |
| ok.ru | Не моя аудитория, но приятные блестки и анимации | У меня был там аккаунт под проект бота-астролога, прикиньте 😄 |
| Telegram | Как бы я ни любил телегу - это не соц сеть! Нет общего спейса, где можно завируситься. Пашка ввел общую рекламу в каналах, тем самым обкрадывает контент мейкеров - платят не владельцам канала, а Пашке в TG ADS👎🏻 На вирусных подарках опять же богатеет только сам Пашка, интереса делать полноценный контент в тг особо не фиксирую | Веду свой канал, но бугурчу. Пашка скоро блестки добавит и юбку наденет. Есть некоторый уход от качественного роста Telegram |
| Pikabu | Много всякого народа, много постов. Хотелось бы своё отдельное независимое место, а не копить авторитет на чужой площадке, которую легко потерять | Под проект делал аккаут |
| Не всегда люблю фоткаться. Слишком много жрет время эта хрень. Да и блочат ее, не перспективно работать на инсту а потом узнать, что потеряешь всё. | Есть аккаунт, не сижу почти. | |
| 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
- Создай репозиторий glebgv.github.io
- Настрой Settings → Pages → Source: GitHub Actions
- Добавь 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
- Settings → Pages → Custom domain
- Введи домен:
glebgv.ru - Нажми Save
- Дождись “DNS check successful”
Проверка идет:

Всё ок:

3. Включение HTTPS
Отметь галочку Enforce HTTPS — GitHub выдаст бесплатный SSL-сертификат автоматически. Еще одна несравнимая польза. Некоторые хостинги берут бабки за SSL - сдуреть можно.
4. Обновление Hugo config
В hugo.toml укажи новый домен. У меня так:
baseURL = "https://glebgv.ru/"
Результат
Бесплатный блог на кастомном домене с HTTPS, CDN и нулевыми затратами! Позже разберу, как запилить своего тг бота, чтобы можно было писать посты. Ведь ограничение у такого метода - надо после каждых правок закидывать статьи в git руками.
Находите меня первыми: