Mise en page et composants
La mise en page dans laquelle se rend un historique éclaté, et les deux composants MDC dont ses pages sont faites.
Le type changelog écrit des pages Markdown ordinaires dont les corps sont deux
composants MDC, rendus dans une mise en page à eux. Les trois sont documentés parce
qu’ils font partie de la surface publique — un consommateur peut remplacer
n’importe lequel — non parce qu’une page devrait être écrite à la main.
La mise en page changelog
Liée à la seule granularité split ; un
journal plat est une page de documentation ordinaire et se rend dans le cadre de la
documentation.
Elle diffère de docs sur deux points, et les deux découlent de ce que sont les
pages. La barre latérale est la liste des versions plutôt qu’un arbre de prose
— même navigation, même collection, parce qu’une section générée est une collection
ordinaire et que ses pages sont les versions. Et la colonne de lecture est bornée
à une mesure : une note de version est de la prose, et de la prose composée sur
toute la fenêtre est illisible. La colonne de sommaire reste, listant les groupes.
Remplacez-la par un fichier à vous au même chemin :
app/layouts/changelog.vue
ChangelogReleases
La chronologie de la vue d’ensemble : chaque version, la plus récente d’abord, filtrable par ce qui a changé. Écrit sur la page d’index de la section.
| Prop | Type | Notes |
|---|---|---|
releases | tableau | Chacune avec version, date, to et ses groups |
Les groups d’une version ne portent qu’un name et un count — les entrées ne
sont pas ici, parce que chaque version a une page à elle et que répéter ses puces
mettrait l’historique entier deux fois dans l’index de recherche, dans
llms-full.txt et dans le flux.
Les pastilles de filtre sont construites à partir des noms que le fichier a lui-même employés. Sans sélection, la page montre tout, ce qui est aussi ce que rend le serveur : un filtre est le choix d’un lecteur, la page doit donc être complète avant que quiconque en fasse un — sinon le robot d’indexation et le lecteur dont l’hydratation n’est pas encore arrivée se voient chacun servir un journal filtré que personne n’a demandé.
ChangelogGroup
Un groupe d’une version — « Features », « Bug Fixes », ce que le fichier disait.
| Prop | Type | Notes |
|---|---|---|
name | string | Le titre propre du fichier, mot pour mot |
count | number | Combien d’entrées le groupe liste |
Les entrées arrivent dans le slot, comme le Markdown qu’elles ont été écrites —
ainsi la recherche les indexe, llms-full.txt les porte et le bouton de copie remet
à un modèle de la prose plutôt qu’un appel de composant. Seuls le nom et le nombre,
dont le badge et les filtres ont besoin comme données, voyagent en props.
La couleur à côté du nom est un indice et jamais un sens : un nom que la liste d’indices ne connaît pas reçoit tout de même une couleur stable à lui, ce qui rend le même type de changement repérable d’un coup d’œil sur une page de quarante versions, dans n’importe quelle langue.
En remplacer un
Comme pour tout autre composant que la couche livre : un fichier au même chemin dans le site consommateur l’emporte.
app/components/content/ChangelogGroup.vue
Les props ci-dessus sont le contrat, et le nom de la mise en page aussi. Un renommage ici est un changement cassant de la couche.
Pas de titre à eux
Aucun des deux composants n’ouvre sur un <h1>. Le cadre de la documentation
dessine l’en-tête — fil d’Ariane, titre, le bouton de copie à côté — pour toute page
générée dont le corps n’ouvre sur aucun titre, et une page de version veut
exactement cela : un titre et une trace comme toute page écrite.