Não existe painel de administração por trás deste blog. Não existe banco de dados. Quando eu quero publicar um texto novo, eu crio um arquivo .md, preencho um cabeçalho padronizado e rodo um comando. O resto — página do post, entrada na listagem, card na Home, sitemap — é gerado sozinho.
Isso não foi decisão de economia. Foi aplicação direta de um princípio da NES: organize antes de automatizar.
O que o cabeçalho do arquivo exige
Todo post começa com um bloco assim:
titulo: "..."
slug: "..."
data: "..."
pilar: "..."
resumo: "..."
tags: [...]
Antes de gerar qualquer HTML, o script valida esse bloco. Se faltar título, slug, data ou categoria, o build quebra com erro, não publica pela metade, não deixa passar um post malformado silenciosamente. Isso é o princípio NES-002 na prática: automatize decisões explícitas, não ambiguidades ocultas. O script não tenta "adivinhar" o que fazer com um post incompleto — ele recusa.
O que sai automático depois disso
Com o cabeçalho validado, uma única execução gera:
- A página do post, com Markdown convertido pra HTML
- A entrada correspondente na listagem do blog, já filtrável por categoria
- O card de destaque na Home, se for o post mais recente
- A linha nova no
sitemap.xml
Nenhuma dessas quatro coisas exige uma decisão minha no momento da publicação. Eu já decidi, uma vez, como cada uma delas deveria se comportar — a automação só repete essa decisão de forma consistente, post após post.
Automação boa não elimina decisão. Ela move a decisão pra antes, e repete o resultado depois.
Por que isso é mais NES do que parece
Um CMS tradicional resolveria o mesmo problema — mas embutiria a estrutura editorial dentro de um banco de dados, atrás de um login, fora do controle de versão. Aqui, cada post é um arquivo de texto rastreável, revisável e versionado como qualquer linha de código. Não existe "estado escondido" do blog em lugar nenhum: o conteúdo publicado é exatamente o que está nos arquivos, e nada além disso.
Se um dia eu quiser migrar esse blog pra outra tecnologia, não preciso exportar nada de banco nenhum. Os .md continuam sendo os .md. A infraestrutura muda; o conteúdo, não.