Acerca

O sitelo não começou como um framework. Começou com a vontade de escrever marcação de uma forma que parecesse natural em JavaScript — e foi crescendo até cobrir todo o caminho, do ficheiro da página ao site publicado.

javascript-to-html

Primeiro veio o javascript-to-html (também conhecido por ht.js): uma forma simples e intuitiva de gerar HTML em JavaScript, sem motores de templates complexos nem frameworks.

Com frameworks completos como o React tão omnipresentes, encontrar uma solução de templates simples que não trouxesse tudo atrás era surpreendentemente difícil. Ao concentrar-se apenas em transformar JavaScript em HTML — no fundo, funções que devolvem strings — o ht.js mantém-se leve, fácil de usar, flexível e extensível.

Essa superfície reduzida faz com que encaixe em muitos sítios: diretamente no frontend (à maneira de uma SPA), numa compilação para criar sites estáticos (SSG), ou até para renderização no servidor (SSR).

Ensinar o Vite a emitir HTML

Isso resolveu a escrita. O problema seguinte era a compilação: o Vite trata os .js / .ts como scripts, não como páginas. Era precisa uma convenção em que certos módulos fossem para ser HTML.

A ideia era direta: os ficheiros chamados *.ht.js, *.html.js, *.ht.ts e companhia deviam ser processados para HTML em vez de empacotados como JavaScript de cliente. Essa convenção tornou-se o vite-plugin-html-pages — encaminhamento por ficheiros, carregamento de dados, recursos e geração estática sobre o Vite.

sitelo

O sitelo junta o Vite e esse plugin numa só instalação e numa só CLI. Ficas com uma experiência de desenvolvimento completa e cuidada: sitelo para um servidor ao vivo, sitelo build para produção, valores por omissão sensatos e o modelo de páginas do plugin, sem teres de montar a cadeia de ferramentas.

A mesma ideia de uma ponta à outra: as páginas são módulos que devolvem HTML. O sitelo é a camada que faz essa ideia parecer terminada.

Como se compara

Já há muitas boas ferramentas para publicar sites estáticos. O nicho do sitelo é estreito de propósito: funções JavaScript (ou TypeScript) que devolvem HTML, com a experiência de desenvolvimento do Vite, e com o mínimo de framework possível.

FerramentaModeloEscolhe-a quando
siteloFunções JS/TS → HTML sobre o Vitequeres HTML a partir de JavaScript com um fluxo de trabalho Vite a sério — sem precisares de um framework de componentes
AstroComponentes + ilhas, compilador própriosites de conteúdo que querem ilhas de componentes e um ecossistema maior
Next.jsAplicação React completa (SSR / SSG / ISR)estás a construir uma aplicação no ecossistema do React
HugoTemplates Go, compilações muito rápidassites de conteúdo enormes e sentes-te à vontade nas ferramentas do Go
EleventyLinguagens de templates → HTMLqueres templates flexíveis (Nunjucks, Liquid, …) sem um framework de SPA

Se queres componentes, hidratação e um framework — usa um framework. Se queres ficheiros HTML a partir de funções JavaScript com a experiência do Vite, o sitelo é a ferramenta mais pequena que faz o trabalho todo.

Ler a documentação · GitHub