Reconstruindo meu blog com Hugo no Ubuntu

Tabela de Conteúdo

Eu já planejava criar um blog pessoal havia algum tempo. Baixei o Hugo e um tema quando ainda usava Windows, mas nunca encontrei tempo para avançar além da configuração inicial.

Depois de migrar meu notebook para o Ubuntu, decidi retomar o projeto. Como não havia personalizações ou publicações para preservar, começar do zero fazia mais sentido do que corrigir a configuração antiga.

Escolhendo a hospedagem

Meu plano anterior era gerar o site localmente e enviar os arquivos prontos para a hospedagem do Fastmail. Com a mudança do meu e-mail para o Proton, precisei encontrar outro lugar para o blog.

Escolhi o Cloudflare Pages porque ele permite usar meu próprio domínio, fasouza.me, e enviar um site gerado no meu notebook.

O Cloudflare também pode executar o Hugo a partir de um repositório Git. Considerei essa opção, mas preferi manter um único ambiente de build. Se o Hugo e o tema funcionam juntos localmente, posso enviar os arquivos gerados sem manter outra instalação do Hugo no ambiente de hospedagem.

A configuração local

O blog usa o Hugo Extended, instalado pela Central de Aplicativos do Ubuntu como pacote Snap, e o tema Hugo Blog Awesome.

Adicionei o tema como submódulo Git para registrar a revisão utilizada pelo projeto. O site tem versões em inglês e português brasileiro, com inglês no endereço principal e português em /pt-br/.

Dois scripts cuidam do fluxo de trabalho:

  • testblog.sh verifica atualizações do tema, inicia o servidor local do Hugo com os rascunhos habilitados e abre o Firefox.
  • publishblog.sh limpa os arquivos gerados anteriormente, cria a versão de produção e envia a pasta public/ usando o Wrangler, ferramenta do Cloudflare.

O build de publicação exclui rascunhos, publicações futuras e publicações expiradas.

Um pequeno ajuste no tema

A primeira prévia mostrou um título duplicado na aba do navegador: FASouza.me | FASouza.me.

O tema combinava o título da página com o nome do site em todas as páginas, inclusive na inicial. Uma substituição local do template agora exibe o nome do site uma única vez na página inicial e mantém o formato Título da página | Nome do site nas demais.

Manter essa substituição fora do diretório do tema permite atualizá-lo sem alterar seus arquivos diretamente.

Hora de escrever

A estrutura técnica está pronta. O Hugo recebe atualizações pelo Snap, o tema é verificado quando inicio uma prévia, e a publicação utiliza os arquivos gerados localmente.

Meu próximo objetivo é transformar experiências de diagnóstico, anotações de estudo e projetos pessoais em publicações úteis. Este blog também será um espaço para registrar o que aprendo pelo caminho.