Referência de frontmatter
Todos os campos aceitos no topo de um arquivo MDX, por coleção.
2 min de leitura
O frontmatter é o bloco YAML entre --- no topo de cada arquivo .mdx. Ele é lido
por src/lib/content.ts e alimenta listagens, metadados, feeds e sitemap.
Campos comuns
Válidos em qualquer coleção.
| Campo | Tipo | Obrigatório | O que faz |
|---|---|---|---|
title | texto | sim | Título da página, da aba do navegador e do card social |
description | texto | não | Resumo na listagem, na meta description e no RSS |
date | texto ISO | sim | Ordena as listagens e preenche a data de publicação |
tags | lista | não | Chips exibidos no rodapé do artigo |
published | booleano | não | false esconde de listagens, RSS e sitemap |
Sem title ou sem date, o build falha apontando o arquivo — de propósito.
Só em projects
| Campo | Tipo | O que faz |
|---|---|---|
stack | lista | Tecnologias, exibidas como chips no card e no topo da página |
repo | URL | Botão "Repositório" no cabeçalho |
demo | URL | Botão "Ver ao vivo" no cabeçalho |
featured | booleano | Coloca o projeto na home, seção 04 / trabalho |
order | número | Ordem na listagem e entre os destaques (menor primeiro) |
Projetos são a única coleção que não ordena por data: um portfólio é curado, então o
order manda e a data só desempata. Sem order, o projeto vai para o fim da fila.
---
title: "Nome do projeto"
description: "O que ele resolve, em uma frase."
date: "2026-07-20"
stack: ["Next.js", "PostgreSQL", "Docker"]
repo: "https://github.com/Victor-Alves0/exemplo"
demo: "https://exemplo.vercel.app"
featured: true
order: 1
---Só em docs
| Campo | Tipo | O que faz |
|---|---|---|
category | texto | Agrupa o documento na barra lateral. Sem ele, cai em "Geral" |
order | número | Ordem dentro da categoria (menor primeiro) |
A categoria é escrita no idioma do arquivo: "Guias" em content/pt/docs/,
"Guides" em content/en/docs/.
Só em newsletter
| Campo | Tipo | O que faz |
|---|---|---|
issue | número | Exibe "Edição N" acima do título |
Notas
Datas vão no formato YYYY-MM-DD e são formatadas no fuso UTC — assim a data
exibida não muda conforme o fuso de quem lê.
O tempo de leitura não é um campo: sai de uma contagem de palavras a 200 palavras por minuto, calculada no build.
O card social também é automático. Cada página gera a própria imagem OG em
/og, usando o título e o nome da seção.