Este site é feito do mesmo jeito que o blog do Fabio Akita (código), com duas mudanças: os scripts de apoio são em Python em vez de Ruby, e o mise controla tudo — versões das ferramentas, o ambiente Python e todas as tarefas.
A stack
- Hugo transforma Markdown em HTML estático. Sem banco de dados, sem servidor.
- Hextra é o tema: modo escuro, busca (
Ctrl K), tags, RSS e syntax highlighting. - Netlify faz o build e publica a cada push na
main. - mise fixa as versões de Hugo, Go e Python, então meu notebook, o GitHub Actions e a Netlify rodam exatamente as mesmas.
Três idiomas
Cada post é uma pasta com um arquivo por idioma:
content/2026/10/30/new-website-how-i-built-it/
├── index.en.md → /en/2026/10/30/my-new-website-how-i-built-it/
├── index.es.md → /es/2026/10/30/mi-nueva-web-como-la-hice/
└── index.pt-br.md → /pt-br/2026/10/30/meu-novo-site-como-eu-fiz/O Hugo liga as traduções, então o seletor de idioma leva para o mesmo post.
O fluxo de trabalho
mise install # Hugo, Go, Python
mise run setup # dependências Python
mise run new "Título" # cria os 3 arquivos como rascunho
mise run tags:search "ia" # reaproveitar tags existentes
mise run dev # http://localhost:1313/pt-br/
mise run check # o mesmo que a CI: tags, índices, testes, build
git push # a Netlify publicaA home e o arquivo são gerados pelo scripts/generate_index.py (o generate_index.rb do Akita, portado), e o scripts/tag_catalog.py mantém as tags consistentes nos três idiomas.