Aller au contenu
duxt

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.

PropTypeNotes
releasestableauChacune 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.

PropTypeNotes
namestringLe titre propre du fichier, mot pour mot
countnumberCombien 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.

Cette page vous a-t-elle été utile ?