~/manuelzzz
← changelog
projeto

DevGrid: um contribution graph unificado (e um bug bobo integrando ele aqui)

Uso GitHub e GitLab no dia a dia, e cada um só mostra o próprio contribution graph — nenhum dos dois enxerga o outro. Construí o DevGrid pra resolver isso: um workflow que roda todo dia, junta a atividade das duas plataformas, e gera um SVG único (versões light e dark) publicado numa branch de assets do próprio repo.

Como funciona

Nada muito sofisticado: um job do GitHub Actions consulta as duas plataformas, soma a atividade por dia, e regenera dois arquivos SVG — contributions-light.svg e contributions-dark.svg — commitados direto na branch assets. Qualquer lugar pode consumir esses SVGs direto via URL raw, sem precisar rodar nada localmente.

Integrando aqui no site

Adicionei o DevGrid nos projetos e criei uma seção “contribuições” na home, puxando os dois SVGs e alternando entre eles conforme o tema — reaproveitei o mesmo mecanismo CSS que já uso no botão de tema claro/escuro, então a troca respeita a escolha manual de tema do site, não só a preferência do sistema operacional.

Bati num bug engraçado no processo: coloquei o gráfico dentro de um card com fundo --color-bg-raised, e as células vazias do SVG escuro simplesmente sumiram. Motivo: o DevGrid colore células vazias com #161b22 — a cor convencional do GitHub pra contrastar contra o fundo de página, não contra um card. E #161b22 é exatamente o valor do meu --color-bg-raised no tema escuro. Célula vazia e fundo do card, cor idêntica. Troquei o container pra usar o fundo de página (--color-bg) em vez do fundo de card, e as células voltaram a aparecer.