мой сайт 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, а мне надо.
comments