HERON

Страницы в файлах, базы нет

CMS без базы данных

CMS без базы данных, или flat-file CMS, — система управления сайтом, которая хранит страницы в обычных файлах, чаще всего в текстовом формате Markdown, а не в базе данных. Вы правите файл — меняется сайт. Базу не нужно ставить, резервировать и обновлять.

HERON — flat-file CMS сборочного типа: он заранее превращает папку Markdown-файлов в готовые страницы, и серверу остаётся только отдавать файлы. Ниже — как устроены такие системы, кому они подходят и что лежит в папке сайта на HERON.

CMS с базой и без базы

CMS с базой данныхCMS без базы данных
Где лежат страницыСтроки в базе данныхТекстовые файлы в папке
Что нужно серверуPHP или другой язык, база, админкаТолько файлы, у некоторых систем ещё PHP
Резервная копияВыгрузка базы плюс файлыСкопировать папку
История правокПлагины, если естьGit хранит каждую версию каждой страницы
Переезд на другой хостингЭкспорт, импорт, правка путейСкопировать папку
Что может сломатьсяПлагины, обновления, база, вход в админкуПочти нечему: на сервере ничего не работает

Два вида CMS без базы

Что лежит в папке сайта

Весь сайт на HERON — одна папка, поэтому он целиком живёт в git.

Файл или папкаЧто в ней
site.yamlЕдинственный файл настроек: домен, языки, меню, настройки для поиска и нейросетей
content/Страницы в Markdown: по папке на язык, один файл — одна страница. Путь файла — адрес страницы
media/Фотографии и картинки. HERON сам делает WebP и AVIF всех нужных размеров
data/Списки и таблицы для темы: команда, цены, партнёры
theme/Внешний вид сайта: шаблоны и стили

Как работать с сайтом без базы

С пустой папки начинать не придётся. Структуру создаёт HERON, а дальше работа — копировать и заполнять файлы.

  1. 1

    Создайте структуру

    heron new my-site -y берёт последний образ HERON, и образ делает папку: site.yaml, content/ с демо-страницами, media/, data/ и тему.
  2. 2

    Посмотрите на страницу

    Откройте файл главной страницы вашего сайта в любом редакторе и ту же страницу в просмотре на localhost:8000. Видно, какая часть файла становится каким блоком сайта.
  3. 3

    Скопируйте файл под новую страницу

    Сохраните любую страницу из демо темы рядом под именем services.md или попросите HERON сделать пустую заготовку со всеми секциями её типа. Имя файла становится адресом: /services/.
  4. 4

    Заполните

    Поменяйте блок настроек сверху (заголовок для поиска, заголовок страницы, описание) и секции ниже — сами или с ИИ-агентом.
  5. 5

    Соберите и проверьте

    Следующая сборка превратит новый файл в HTML-страницу, добавит её в свой раздел, карту сайта и llms.txt и предупредит, если чего-то не хватает.
  6. 6
  7. 7

А если нужна база данных?

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

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

Закрытый ключ

Сайт и база общаются по закрытому ключу, который указан в site.yaml. Страница только читает данные или отправляет запрос, менять устройство базы она не может.

Нечего внедрить

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

Часть страницы обновляется без перезагрузки

Остальная страница остаётся готовым файлом и открывается так же быстро.

Создать сайт без базы

Одна команда создаёт папку сайта со стартовой темой и демо-страницами.

docker run --rm -it -v "$PWD":/site -w /site --user $(id -u):$(id -g) ghcr.io/fmstm/heron:prod new my-site

Вопросы

Подходит ли CMS без базы для сайта компании?

Да, для сайтов, которые в основном рассказывают: услуги, цены, статьи, контакты. Для магазина с корзиной или личных кабинетов выбирайте систему, сделанную для этого.

Могут ли сайт править несколько человек?

Да. С git каждый работает в своей копии, изменения объединяются, а история показывает, кто что поменял.

Есть ли админка?

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

Насколько это быстро?

Новый сайт на HERON получает 100 баллов скорости в Lighthouse на телефоне, главная весит 3 КБ. Сайт из 1004 страниц на двух языках собирается за 3,3 секунды.

Это бесплатно?

Да. HERON — открытый код под лицензией AGPL-3.0, а статические файлы можно разместить бесплатно.