Blog pessoal construído com Hugo sobre o tema PaperMod, com foco em:
- Cloud
- Platform Engineering
- DevOps
- Governança
- Projetos open source
Site publicado em: https://davidferreira.blog/
- Static site generator: Hugo
- Theme: PaperMod
- Customizações do projeto:
layouts/,layouts/partials/,assets/css/extended/estatic/ - Conteúdo: Markdown em
content/
Para subir o site localmente:
hugo server -DO blog ficará disponível em http://localhost:1313.
Observações:
-Dinclui conteúdos comdraft: true- para testar só conteúdo publicado, rode
hugo serversem-D
Para gerar o site estático:
hugoOu com minificação:
hugo --minifySaída gerada em:
public/
Diretórios principais:
content/posts/: posts do blogcontent/categories/: páginas das categoriascontent/sobre/: página Sobrelayouts/: overrides e templates do projetolayouts/partials/: partials reutilizáveisassets/css/extended/: CSS customizado do sitestatic/images/: imagens e capas dos poststhemes/PaperMod/: tema base como submódulo
Este repositório segue algumas regras simples para reduzir acoplamento ao tema:
- não editar
themes/PaperModdiretamente - preferir overrides em
layouts/elayouts/partials/ - preferir estilos isolados em
assets/css/extended/ - tratar
public/eresources/como artefatos gerados - manter compatibilidade com o PaperMod sempre que possível
O blog hoje organiza conteúdo principalmente nestas categorias:
kubernetesprojetosclouddevopsgovernancaterraform
O caminho padrão é criar um arquivo em content/posts/ usando o mesmo formato dos posts existentes.
Exemplo de front matter:
---
title: "Título do post"
slug: "titulo-do-post"
date: 2026-03-26T10:00:00-03:00
description: "Resumo curto do conteúdo."
summary: "Resumo curto do conteúdo."
tags: ["cloud", "devops"]
categories: ["cloud"]
draft: false
cover:
image: "images/hero.png"
alt: "Descrição curta da imagem"
---Boas práticas:
- usar
descriptionesummarycurtos e claros - manter
tagsecategoriesconsistentes - usar capa em
static/images/quando o post tiver destaque visual - preferir slug explícito para evitar mudanças futuras de URL
Projetos open source e soluções próprias entram como posts em content/posts/ e também podem usar a categoria:
projetos
Isso faz o conteúdo aparecer automaticamente em:
/posts//categories/projetos/
O blog tem suporte a diagramas Mermaid nos posts.
Use normalmente blocos como:
~~~mermaid
flowchart TD
A[Origem] --> B[Processamento]
B --> C[Resultado]
~~~A renderização é feita no cliente por um loader adicionado via override local, sem alterar o tema original.
O projeto já possui customizações relevantes fora do PaperMod:
- home customizada
- listagem de posts com hero, busca e cards próprios
- página Sobre customizada
- estilo customizado para post individual
- suporte a Mermaid
- paleta ajustada para o visual atual do site
O deploy é feito via GitHub Actions para o site público.
Fluxo esperado:
- editar conteúdo ou customizações
- validar localmente com
hugoouhugo server -D - enviar para a branch principal
Depois de qualquer alteração relevante, rodar:
hugoE verificar:
- build sem erro de template
- página afetada renderizando corretamente
- layout mobile
- dark theme
- busca, navegação e filtros quando aplicável
Tema base:
PaperMod
O projeto usa overrides locais para evitar acoplamento desnecessário ao submódulo do tema.