Переписал блог на новый движок за 1 час
Год или больше я застрял на Docusaurus. Недавно я от него избавился — написал свой движок на Go за час. Вот почему и как.
Зачем вообще нужен блог
Блог — это не просто сайт. Это публичная сторона моей системы управления знаниями. Есть и приватная: заметки о встречах, списки покупок, задачи, всё что угодно. Для этого Obsidian стал стандартом.
Workflow был простой:
- Собираю идеи в приватном репозитории
- Линкую и дорабатываю заметки
- Когда материала достаточно — перекидываю
.mdфайл в публичную папку блога - Делаю
git commit && git push - Блог пересобирается из markdown
Всё. Никакого CMS, никакой базы данных, никакого редактора в браузере.
Что сломалось с Docusaurus
Docusaurus начал есть больше 2 ГБ RAM при сборке обычного блога. На продакшен-сервере это стало невозможным.
Варианты, которые я рассматривал:
- Собирать локально, пушить raw HTML — засоряет git историю
- Собирать локально, заливать HTML по SFTP — медленно и раздражает
- Найти замену — очевидный выход
Я потратил время на поиск альтернатив, но в итоге решил написать своё.
Решение: движок на Go за 1 час
Vibe-кодинг с AI — это реально работает для таких задач. Написал движок на Go, который делает то же самое, что делал Docusaurus, только эффективнее.
Что вошло в первую версию:
- Рендеринг markdown → HTML
- Навигация и структура сайта
- Сжатие изображений в WebP
- Graph view как в Obsidian — визуализация связей между заметками
Последний пункт особенно приятный: это именно та фича, которую я хотел от Obsidian, но в публичном блоге.
Итог
Система управления знаниями снова работает без трений. Workflow не изменился — я по-прежнему просто перекидываю .md файлы и делаю git push. Только сборка теперь лёгкая и быстрая.
Исходный код движка открыт:
👉 https://github.com/tot-ra/blog-engine-md