мой сайт sccl.cc изначально был на astro (на самом деле ИЗНАЧАЛЬНО, он был просто на nodejs, в далёких covid-временах)

аstro - штука прикольная - для быстрого клепания чего-нить красивого неплох, но со временем он мне чтот разонравился, тяжелый он какой-то и т.д.

мне попался zine - ssg на zig. - билдить сайт на нём можно одним лишь бинарником без всяких зависимостей.

шаблоны на superhtml - эт валидный html, в который добавили темплейтинг с атрибутами типа :text, :if, :loop.

Контент на supermd - типа .md, но якобы круче.

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

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

upd: подход менялся ещё неслько раз потом, с приходом своих костылей :sob:

# деплой

zine скомпилен в standalone-бинарник со статической линковкой.

собирать можно через npm в ci, как советуют в вики - с помощью kristoff-it/setup-zine@v1:

типатак:

- uses: kristoff-it/setup-zine@v1
  with:
    version: v0.11.3
- run: zine release

ранее мой сайт был на cf - он пушился вранглером вот так:

- uses: cloudflare/wrangler-action@v3
  with:
    apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
    accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
    command: pages deploy public/ -project-name sccl-cc

щас на фулл селф-хосте чуть попроще

? плюшки

самое крутое в zine в том, что его билд мегабыстрый, он, как правило, не обрастает сотней зависимостей, как например с js фреймворками, де живёт огромный node_modules и т.п..

достаточно много контроля, который некоторые фреймворки из-за уровня своих абстракций проёбывают - для моего page weight минимализма эт критический плюс.

? минусы

zine is beta :partying_face: (v0.11.0 на момент написания статьи)

ваще реальных минусов пока не вижу - есть только условности из того факта, что это не какой-то фреймворк и т.п., а static site generator с целью рисовать миркоблоги и т.п., хотя я к нему пытаюсь прикручивать и js и apiшки - и вроде, всё мне нравится, всё работает, но местами приходится костылить какой-то кастом, ибо он не zine-native, а мне надо.