Мой сайт sccl.cc изначально был на Astro.

Astro - штука прикольная. Для быстрого клепания чего-нить красивого неплох, но со временем он меня начал бесить:

Тяжёлый рантайм. Чтобы собрать сайт, надо тянуть Node.js, npm, node_modules на сотню мегабайт. Для одной статики.

Сложность. Astro умеет всё: острова, ssr, эндпоинты, middleware. А у меня сайтец на три страницы: контакты, проекты, периферия, многого ненадо.

Альтернативы?

Мне попался Zine.

Zine - это SSG на Zig. Один бинарник, без зависимостей.

Шаблоны на SuperHTML - это валидный html, в который добавили темплейтинг. Никаких {{ }}, никаких Pug/Jade. Просто html с атрибутами типа :text, :if, :loop.

Контент на SuperMD - расширенный .md без необходимости лезть в html.

Процесс переезда

В целом переехать достачно просто - над переписать лэйауты с Astro на SuperHTML, перекинуть уже имеющеся скрипты. Самое муторное эт, что astro юзает свои блядские .astro файлы со своей странной смесью js и html, а SuperHTML это просто html с плюхами.

Плюшки?

Скорость. Билд за миллисекунды вместо секунд.

Простота. Нет node_modules. Нет package-lock.json. Нет сотен зависимостей. Один бинарник, папка с контентом, папка с шаблонами.

Контроль. Я знаю, что в каждой строчке сгенерированного HTML. Никакого скрытого JS, который Astro добавляет по умолчанию.

Минусы?

Zine в бете.

Документация местами бедная. Сообщество маленькое. Если что-то сломалось - ты первый, кто это заметил.

Но для личного сайта это топ.

Один бинарник, пара .smd-файлов, один лэйаут и готово.

Как мне пришлось деплоить это чудо описано в How-to-ZINE-on-CF.md.