Как устроен этот сайт
Содержание
Этот сайт я собрал на Hugo — это генератор статических сайтов. Никакой базы данных и никакой CMS на сервере: статьи лежат у меня в обычных Markdown-файлах, а на хостинг уезжают уже готовые HTML-страницы.
Почему статика
Я не первый год обслуживаю серверы и хорошо знаю, сколько возни бывает с обычным сайтом на CMS. Поэтому выбор был простой:
- Быстро. Сервер просто отдаёт готовые файлы, ничего не собирается на лету.
- Спокойно с безопасностью. На хостинге нечего ломать: нет админки, PHP-скриптов и базы.
- Удобно хранить. Весь сайт — папка с текстовыми файлами, и она целиком лежит в Git. Любую правку можно посмотреть или откатить.
Как выглядит статья
Каждая статья — отдельный файл в content/posts/. В начале у него небольшой заголовок с описанием:
---
title: "Название статьи"
date: 2026-10-19
description: "Короткое описание для списка и поисковиков"
tags: [linux, debian]
toc: true
---
Дальше идёт обычный Markdown. Код подсвечивается сам:
#!/bin/bash
# Резервная копия базы PostgreSQL
pg_dump -U postgres -Fc mybase > /backup/mybase_$(date +%F).dump
Совет
Для врезок вроде этой у меня есть шорткод note: варианты info, tip, warn и danger.
Внимание
Перед публикацией я всегда проверяю, что в статье нет паролей, внутренних IP-адресов и имён серверов.
Как я публикую
- Пишу статью — в редакторе или в локальной админке, которая запускается только у меня на компьютере.
- Смотрю, как она выглядит, через
hugo server -Dна http://localhost:1313. - Делаю
git push. Дальше всё происходит без меня: GitLab CI собирает сайт и сам выкладывает его на хостинг. Через минуту статья уже здесь.
Обсуждение
Комментарии работают через GitHub: для ответа нужен аккаунт GitHub. Вопрос без регистрации — напишите мне напрямую.