Esquema e componentes
O esquema em que um histórico dividido renderiza, e os dois componentes MDC de que as suas páginas são feitas.
O tipo changelog escreve páginas Markdown comuns cujos corpos são dois
componentes MDC, renderizados dentro de um esquema próprio. Os três estão
documentados porque fazem parte da superfície pública — um consumidor pode
substituir qualquer um deles — não porque uma página tenha de ser escrita à mão.
O esquema changelog
Ligado apenas à granularidade split; um
registo plano é uma página de documentação comum e renderiza no enquadramento da
documentação.
Difere de docs em dois pontos, e ambos seguem do que as páginas são. A barra
lateral é a lista de versões em vez de uma árvore de prosa — a mesma navegação, a
mesma coleção, porque uma secção gerada é uma coleção comum e as suas páginas são as
versões. E a coluna de leitura está limitada a uma medida: uma nota de versão é
prosa, e prosa composta ao longo de toda a janela é ilegível. A coluna de conteúdos
fica, listando os grupos.
Substitua-o por um ficheiro seu no mesmo caminho:
app/layouts/changelog.vue
ChangelogReleases
A cronologia da vista geral: cada versão, a mais recente primeiro, filtrável pelo que mudou. Escrito na página de índice da secção.
| Prop | Tipo | Notas |
|---|---|---|
releases | array | Cada uma com version, date, to e os seus groups |
Os groups de uma versão trazem apenas um name e um count — as entradas não
estão aqui, porque cada versão tem uma página própria e repetir os seus pontos
meteria o histórico inteiro duas vezes no índice de pesquisa, no llms-full.txt e
no feed.
As fichas de filtro são construídas a partir dos nomes que o próprio ficheiro usou. Sem nada selecionado a página mostra tudo, que é também o que o servidor renderiza: um filtro é a escolha de um leitor, portanto a página tem de estar completa antes de alguém fazer uma — caso contrário o rastreador e o leitor cuja hidratação ainda não chegou recebem cada um um registo filtrado que ninguém pediu.
ChangelogGroup
Um grupo de uma versão — «Features», «Bug Fixes», o que o ficheiro dissesse.
| Prop | Tipo | Notas |
|---|---|---|
name | string | O título próprio do ficheiro, literal |
count | number | Quantas entradas o grupo lista |
As entradas chegam no slot, como o Markdown em que foram escritas — assim a
pesquisa indexa-as, o llms-full.txt leva-as e o botão de cópia entrega a um modelo
prosa em vez de uma chamada de componente. Só o nome e o número, de que o emblema e
os filtros precisam como dados, viajam como props.
A cor ao lado do nome é uma pista e nunca um significado: um nome que a lista de pistas não conhece recebe na mesma uma cor própria e estável, que é o que torna o mesmo tipo de alteração percorrível numa página de quarenta versões em qualquer idioma.
Substituir um
Como para qualquer outro componente que a camada traz: ganha um ficheiro no mesmo caminho no site consumidor.
app/components/content/ChangelogGroup.vue
As props acima são o contrato, e o nome do esquema também. Uma mudança de nome aqui é uma alteração incompatível da camada.
Sem título próprio
Nenhum dos dois componentes abre com um <h1>. O enquadramento da documentação
desenha o cabeçalho — navegação estrutural, título, o botão de cópia ao lado — para
toda a página gerada cujo corpo não abre com um título, e uma página de versão quer
exatamente isso: um título e um rasto como qualquer página escrita.