Publicações
Como cadastrar e manter publicações acadêmicas.
Este guia explica como cadastrar e manter publicações seguindo os campos validados da coleção.
As publicações ficam em src/content/publicacoes/.
Estrutura de arquivos
As publicações podem ser salvas diretamente em src/content/publicacoes/.
Use o campo lang no frontmatter para definir o idioma (pt, en, es).
Evite usar pastas por idioma sem necessidade. Em publicações, o caminho do arquivo pode impactar o slug da rota final (URL).
Frontmatter
Cada arquivo deve conter:
---
title: 'Título da publicação'
date: 2024-02-15
authors: ['Autor 1', 'Autor 2']
summary: 'Resumo breve do trabalho.'
tags: ['Democracia', 'Instituições']
type: 'artigo'
lang: 'pt'
image: '/imagens/campus/entrada-unesp-franca.jpg'
featured: true
pdf_url: 'https://exemplo.com/artigo.pdf'
---
Tipos aceitos (importante)
O campo type é estrito. Use apenas um destes valores exatos:
artigo: artigos científicos ou acadêmicos.analise: análises de conjuntura ou política.material-didatico: apostilas, guias e tutoriais.texto-curto: notas ou comunicados rápidos.texto-longo: ensaios ou capítulos de livros.tutorial: conteúdos práticos passo a passo.
Se você usar um tipo diferente destes (ex: “Artigo”), o site apresentará erro ao construir.
Como manter os tipos ao longo do tempo
Para facilitar manutenção, os tipos válidos ficam centralizados em:
src/config/publicationTypes.ts
Fluxo recomendado quando quiser adicionar, renomear ou remover tipos:
- Atualize a lista
PUBLICATION_TYPESemsrc/config/publicationTypes.ts. - Ajuste os rótulos exibidos na interface (PT/EN/ES) em:
src/i18n/locales/pt.json→publicacoes.typessrc/i18n/locales/en.json→publicacoes.typessrc/i18n/locales/es.json→publicacoes.types
- Rode o build (
npm run build) para validar conteúdo e filtros.
Se um rótulo de tradução não existir para um tipo novo, o site ainda exibe o tipo com formatação automática (fallback), mas o ideal é sempre traduzir nos arquivos de locale.
Como adicionar nova publicação
- Crie um arquivo
.mdou.mdxemsrc/content/publicacoes/(ex:src/content/publicacoes/meu-artigo.md). - Preencha o frontmatter seguindo o modelo acima.
- Escreva o texto em Markdown abaixo do frontmatter.
Tabela de campos
| Campo | Obrigatório | Padrão | Exemplo |
|---|---|---|---|
title | Sim | — | "Título da publicação" |
date | Sim | — | 2024-02-15 |
authors | Sim | — | ['Autor 1', 'Autor 2'] |
summary | Sim | — | "Resumo breve do trabalho" |
type | Sim | — | "artigo" |
lang | Sim | — | "pt", "en", "es" |
tags | Não | [] | ['Democracia', 'Instituições'] |
image | Não | — | "/imagens/campus/entrada-unesp-franca.jpg" |
featured | Não | false | true ou false |
pdf_url | Não | — | "https://exemplo.com/artigo.pdf" ou "/arquivos/x.pdf" |
authorsdeve ser uma lista de nomes entre colchetes.- Se não houver
image, o card é exibido sem foto. - Use
featured: trueapenas em publicações que devem ganhar destaque.