Heretic
Фреймворк для быстрых и современных сайтов, который объединяет подходы SSR и SPA в одном стеке.
Heretic построен на Marko — языке для динамических, реактивных интерфейсов, идеальном симбиозе HTML и JavaScript. Под капотом: Fastify, Bulma, встроенная интернационализация. Цель — честная производительность и нормальный опыт разработки, а не маркетинговое табло.
Существует поговорка: каждый разработчик должен написать свою CMS. Я делал это много раз, начиная с 2002 года и Perl, потом — Taracot (моя первая коммерческая CMS), позднее — ZOIA, переписанная на React. Идеала не получалось по разным причинам.
Современные стандарты вроде React и Vue мощные, но превращают простой SSR-проект в дорогое упражнение и требуют учить мета-фреймворки поверх фреймворков. Синтаксис Marko почти не отличается от HTML, при этом позволяет уходить вглубь там, где это нужно. Отсюда и название.
Heretic — не очередная CMS с визуальным редактором страниц. Это инструмент, который даёт разработчику полный контроль над модулями, страницами, API-эндпоинтами и составом бандла. SPA-скорость для пользователей, SSR-глубина для поиска, без лишней церемонии посередине.
Полностью открытый исходный код
Лицензия MIT. В основе — Marko, Bulma и Fastify, тоже под MIT. MongoDB и Redis поддерживаются, но не обязательны — их можно отключать в проектах, где они не нужны.
SSR с регидрацией
Страницы рендерятся на сервере, затем интерактивные элементы активируются в браузере. Поисковые системы видят настоящий HTML, пользователь — никаких белых экранов.
Библиотека компонентов Marko
Админка, конструктор форм, динамическая таблица, маршрутизатор, WYSIWYG-редактор, календарь, модальное окно, спиннер загрузки — то, что нужно в любой CMS.
Мультиязычность из коробки
Встроенная i18n с переменными и плюрализацией, английский, русский и немецкий уже включены. Добавить новый язык — без перестройки сборки.
Аутентификация и авторизация
Управление пользователями, политика паролей, восстановление по e-mail, captcha, гибкий rate limit и OAuth2-провайдеры — всё уже встроено.
Модульность
Директория site/ содержит весь ваш код и ресурсы. Базовые модули переопределяются простым копированием. Вы контролируете каждую функцию и каждый байт, который идёт в продакшен.
