Динамический веб-сервер для персонального блога, заменивший связку Hugo + PHP. Сервер читает Markdown при старте и отдаёт HTML на лету — никакой статической генерации и пересборки. Изменил `.md` файл — сайт мгновенно обновился через hot reload.
Один бинарник содержит всё: блог, авторизацию через OAuth, поиск, RSS/sitemap, отдачу статики. Единственная локальная БД (SQLite) — для счётчика просмотров, сессий и аудита входа.
Содержание
Кратко
- Динамический рендеринг. Markdown читается при старте, страницы формируются в момент запроса.
- Два языка из коробки. Русский и английский:
/для основного языка,/{lang}/для остальных. - Система плагинов и шорткоды. Плагины на нескольких категориях хуков (markdown, render, tera, middleware, shortcode); шорткоды —
{load:name;params}. - OAuth без PHP. Google и Yandex, CSRF через constant-time сравнение, JWT-сессии.
- Встроенный поиск. Серверный scoring с
<mark>-сниппетами и подсветкой в тексте. - Безопасность и эксплуатация. Rate limiting, CSP + security headers, gzip/brotli, IP-restricted
/debugи/metrics, TLS (file/self-signed/Let's Encrypt), graceful degradation. - Тесты и качество. Unit + integration, покрытие строк ≥75%,
cargo clippy -D warnings— 0 предупреждений.
Подробности — на странице Возможности.