Saltar para o conteúdo
Blume
Português
Esc
navegarabrir⌘Jpré-visualizar
Nesta página

Meta de pasta

Configure um grupo da barra lateral com um arquivo meta.ts junto às suas páginas — defina o título, o ícone e a ordem do grupo, além da ordem das páginas aninhadas dentro dele.

Toda pasta na sua árvore de conteúdo se torna um grupo da barra lateral. Coloque um meta.ts junto às suas páginas para controlar a aparência desse grupo e a ordenação de seus filhos. É totalmente opcional: sem ele, o rótulo do grupo é o nome da pasta humanizado e suas páginas são ordenadas por índice, prefixo numérico e, então, alfabeticamente.

Definindo o meta

Exporte um objeto defineMeta para obter uma configuração totalmente tipada. Coloque o arquivo na raiz da pasta que ele configura — guides/meta.ts configura o grupo Guias:

import { defineMeta } from "blume";

export default defineMeta({
  title: "Guides",
  icon: "book-open",
  order: 2,
  collapsed: false,
  pages: ["configuration", "theming", "deployment"],
});

Todos os campos são opcionais — defina apenas o que você quiser sobrescrever.

Campos

Campo Tipo Descrição
title string O rótulo do grupo. O padrão é o nome da pasta humanizado.
icon string Ícone exibido ao lado do rótulo.
order number Posição entre grupos e páginas irmãos. Números menores vêm primeiro.
collapsed boolean Sob o modo de exibição group, define se o grupo começa recolhido.
display "flat" | "group" | "page" Modo de renderização deste grupo; sobrescreve o navigation.sidebar.display global.
pages string[] Ordem explícita dos filhos do grupo, por slug.

O array pages lista os filhos por slug — o nome da pasta ou do arquivo com o prefixo numérico e quaisquer parênteses removidos (portanto 01-quickstart.mdx é "quickstart"). Os filhos que você deixar de fora ainda aparecem, depois dos listados.

Como os grupos são renderizados — cabeçalhos planos, blocos recolhíveis ou painéis de navegação em profundidade — o padrão é o navigation.sidebar.display de toda a barra lateral; defina display aqui para sobrescrevê-lo apenas para este grupo. A página index de uma pasta também pode defini-lo pelo frontmatter, o que tem precedência sobre o meta.ts — veja sobrescritas por grupo.

Meta computado

Como meta.ts é um módulo de verdade, você pode computar o meta — passe uma função (síncrona ou async) em vez de um objeto para construí-lo no momento da varredura. Prático para ordenar páginas a partir de uma fonte externa:

import { defineMeta } from "blume";

export default defineMeta(async () => ({
  title: "Guides",
  pages: await orderFromCms(),
}));

Ordenação dentro de um grupo

O array pages define a ordem dos filhos de um grupo. Tudo que ele omitir recorre ao sidebar.order do frontmatter de cada página e, em seguida, ao sistema de arquivos (uma página index primeiro, depois os prefixos numéricos e então a ordem alfabética). Para a precedência completa da barra lateral — incluindo uma barra lateral explícita na configuração — veja Navegação › Ordenação.

Para agrupar páginas sem adicionar um segmento de URL, você não precisa de um meta.ts: use um nome de pasta entre parênteses — veja Páginas › Pastas de grupo.

Internacionalização

Sob o i18n, o meta de pasta é resolvido por locale: coloque um meta.ts em fr/guides/ para ordenar o grupo em francês de forma independente.

Para um meta de pasta idêntico em todos os idiomas, adicione um marcador $ para que um único arquivo sirva a todos os locales sem duplicação:

docs/guides/meta.$.ts   (folder meta applied to every locale)

Um meta.ts específico de locale ainda sobrescreve o meta.$.ts compartilhado para aquele idioma.

Para onde ir agora

Esta página foi útil?