Guia do
portfolio
Referência completa para usar, editar e expandir o site.
01
Criar um post novo
O fluxo completo para publicar uma série de fotos:
- Acessa
/admine entra com a senha - Aba Upload de fotos — sobe as fotos para o R2. Cada foto gera uma URL automaticamente
- O Markdown é gerado automaticamente com as URLs e proporções. Clica em Baixar .md
- Abre o arquivo baixado e preenche os campos: título, número, categoria, data, câmera, filme, intro e texto
- Aba Novo post — sobe o .md, preenche o nome do arquivo (ex:
porto-junho.md) e clica em Publicar - O site atualiza em ~30 segundos
02
Estrutura de um post
Todos os campos disponíveis no frontmatter de um post:
---
title: Título do post
numero: "001"
categoria: Arquitetura
data_formatada: Jun 2025
equipamento: Nikon F65
filme: Kodak Gold 200
intro: Texto curto que aparece antes das fotos.
descricao: Texto para preview em links (WhatsApp, etc).
capa: https://url-da-foto-de-capa.jpg
temas:
- viagem
- cidade
fotos:
- url: https://url-da-foto.jpg
alt: "Descrição da foto"
proporcao: wide
legenda: Legenda opcional
- texto: "Texto intercalado entre fotos."
- url: https://url-da-foto.jpg
alt: ""
proporcao: tall
---
Texto do post aqui. Pode ser longo,
com vários parágrafos.
03
Proporções de foto
wide— ocupa as duas colunas, proporção 16:9. Bom para abertura de série e paisagenstall— ocupa uma coluna, proporção 3:4. Bom para retratos e verticais- Se não definir, o template alterna automaticamente: primeira foto wide, depois tall/wide intercalados
04
Editar um post existente
- Abre o GitHub em
github.com/hspaiva/portfolio - Navega até
src/posts/nome-do-post.md - Clica no lápis para editar direto no GitHub
- Salva — o site atualiza em ~30s
Ou edita o arquivo localmente no VS Code e faz git add . → git commit → git push.
05
Apagar um post
- Acessa
/admine entra com a senha - Aba Apagar post
- Clica em Apagar — o botão vira Confirmar
- Clica em Confirmar — o post é removido e o site atualiza em ~30s
06
Alterar textos do site
- Nome no nav —
src/_includes/base.njk, linha comH. Paiva - Título da home —
src/index.njk, dentro dehome-titulo - Descrição da home —
src/index.njk, dentro dehome-descricao - Footer —
src/_includes/base.njk, dentro dofooter - Página sobre —
src/sobre/index.njk, edita livremente
07
Alterar cores e visual
Todas as cores ficam nas variáveis CSS em src/css/global.css, no início do arquivo:
:root {
--fundo: #f5f2ed; /* cor de fundo do site */
--texto: #1a1916; /* cor do texto principal */
--texto-suave: #7a7570; /* texto secundário */
--texto-mudo: #a09a94; /* texto terciário */
--acento: #2d4a6b; /* azul — cor de destaque */
}
Para mudar o azul de acento, só altera o valor de --acento.
08
Adicionar filtros no arquivo
Os filtros de categoria, câmera, filme e tema são gerados automaticamente a partir dos posts. Para aparecer um novo filtro basta usar o valor novo num post:
- Categoria nova → adiciona
categoria: Nova categorianum post - Câmera nova → adiciona
equipamento: Nova câmeranum post - Filme novo → adiciona
filme: Novo filmenum post - Tema novo → adiciona o tema na lista
temas:de um post
09
Hyperlink num post
No texto do post (abaixo do frontmatter) usa Markdown normal:
[texto do link](https://url.com) Exemplo: Revelado no [Lab Analógico](https://labanalogico.com).
10
Erros comuns
- Site não atualiza após push — espera 1-2 minutos e força reload com
Ctrl+Shift+R - Foto não aparece — confirma que a URL do R2 está correta e que o arquivo foi carregado no bucket
- git push rejeitado — roda
git pull --rebasee depoisgit pushnovamente - Post não aparece na home — confirma que o campo
numeroestá entre aspas:"001" - Filtro não aparece no arquivo — confirma que o campo está igual em todos os posts (maiúsculas contam)
- Lightbox abre foto errada — acontece quando há itens de texto intercalados. O índice do lightbox ignora textos automaticamente
- Deploy falhou no Cloudflare — abre o Cloudflare Pages, clica no deploy com erro e lê o log para identificar o problema
11
Prompt para criar posts
Cole esse prompt no Claude quando for criar um novo post. Substitui os campos entre colchetes:
Crie o frontmatter completo para um post do meu portfolio com essas informações: - Título: [título da série] - Número: [número sequencial, ex: 004] - Categoria: [Arquitetura / Urbano / Pessoas / Pessoal] - Data: [mês e ano, ex: Mar 2025] - Câmera: [modelo da câmera] - Filme: [nome do filme fotográfico, ou "Digital" se for digital] - Intro: [uma frase curta sobre a série] - Descrição SEO: [frase para preview em links] - Temas: [lista de temas, ex: viagem, cidade, noite] - Fotos: [cole aqui as URLs geradas pelo painel admin] - Texto do post: [escreva livremente sobre as fotos] Quero que as fotos alternem entre wide e tall de forma interessante, e que o texto apareça intercalado nas partes que eu indicar.