Auf dieser Seite
Versionen
Wenn ein Release ändert, wie dein Projekt funktioniert, brauchen Leser älterer Releases weiterhin die alte Dokumentation. Clay hält ältere Versionen neben der neuesten online, jede mit eigener Navigation, Suche und URLs.
#So funktionieren Versionen
Die meisten Projekte brauchen nie Versionen. Ihre Seiten liegen direkt in docs/, und Clay zeigt keine Versionswahl.
Mit Versionen hat jede Version einen eigenen Ordner in docs/:
mein-projekt
- clay.yamlversion: "3.x" benennt die neueste
docs
latestdie neueste Dokumentation, unter /
- index.md
- guides
- 2.xunter /2.x
- 1.xunter /1.x
docs/latest/ist immer die neueste Version. Sie liegt an der Wurzel der Website:/guides/setup.- Jeder andere Ordner in
docs/ist eine ältere Version, eine Kopie vondocs/latest/, gespeichert, als diese Version aktuell war.docs/1.x/liegt unter/1.x:/1.x/guides/setup. - Alle Versionen liegen gleich tief, deshalb funktioniert ein Pfad, der aus der Dokumentation hinausführt, etwa ein Include von
../../../clay.yaml, in jeder Kopie gleich.
Diese Website arbeitet so: Ihre Seiten liegen in docs/latest/, die Dokumentation von Clay 4 in docs/4.x/ und die von Clay 3 in docs/3.x/, online unter /4.x und /3.x.
#Eine Version speichern
Speichere die neueste Dokumentation, kurz bevor das Release sie ändert:
Das kopiert
docs/latest/nachdocs/2.x/. Inclay edittut V dasselbe und wechselt den Editor in die neue Version.Eine gespeicherte Version behält den heutigen Text: In der Kopie setzt Clay die Variablen ein und schreibt Includes von Dateien außerhalb von
docs/latest/aus, etwa ausconfig/oderdocs/_snippets/. Wechselt die neueste Dokumentation zu einer neuen Versionsnummer, behalten die alten ihre.Benenne die neueste Dokumentation in der
clay.yaml. Ohneversionheißt sie in der Versionswahl „Latest“.clay.yamlversion: "3.x"Aktualisiere
docs/latest/für das neue Release, committe und veröffentliche. Die alte Dokumentation ist ab dem ersten Build unter/2.xonline.
Versionsnamen werden Teil von URLs; sie dürfen Buchstaben, Ziffern, ., - und _ enthalten. latest, docs, _clay und _nuxt sind reserviert.
#Die erste Version
Solange die Seiten direkt in docs/ liegen, verschiebt das erste clay version sie nach docs/latest/, bevor es die Kopie speichert. Es zeigt, was es vorhat, und fragt vorher:
- Pfade, die aus
docs/hinausführen, bekommen ein../mehr: Includes, Links, Bilder und Dateien in HTML. Pfade innerhalb der Dokumentation ziehen mit um und bleiben, wie sie sind. faviconundnavbar.logoin derclay.yamlziehen mit, wenn sie nachdocs/zeigen.- Befehle und Listen, die Pfade in
docs/nennen, etwageneratein derclay.yaml, die.gitignoreoder die Skripte in derpackage.json, listet Clay zum Prüfen auf: Nur du weißt, ob sie die neueste Dokumentation meinen. - Daten bleiben: Clay liest „zuletzt aktualisiert“ aus git, und git sieht das Verschieben als Umbenennung.
In Skripten und CI, wo niemand antworten kann, häng --yes an. Ohne ändert sich nichts.
Tipp
Ordner in docs/, die mit _ beginnen, sind keine Versionen. Snippets, die sich alle Versionen teilen, können in docs/_snippets/ liegen.
#Die Versionswahl
Sobald es eine ältere Version gibt, zeigt die Navigationsleiste eine Versionswahl, die neueste zuerst. Ein Wechsel behält die Seite, die du liest, wenn die andere Version sie hat, und öffnet sonst die Startseite dieser Version. Auch die Sprache bleibt.
Seiten älterer Versionen zeigen einen Hinweis, zu welcher Version sie gehören, mit einem Link zur selben Seite in der neuesten Version.
#Was jede Version für sich hat
| Je Version | |
|---|---|
| Seiten, Bilder und Dateien | docs/<name>/ |
| Startseite, Titel, Icons und Reihenfolge der Ordner | Die index.md-Dateien der Version |
| Suchindex | Ergebnisse bleiben in der Version |
| Bearbeiten-Links | Führen nach docs/<name>/, wenn editURL auf docs/ endet |
| Übersetzungen | *.de.md-Dateien im Ordner der Version |
| Weiterleitungen | Bleiben in der Version |
Die clay.yaml teilen sich alle: Alle Versionen haben denselben Titel und dieselbe Navigationsleiste.
#Ältere Versionen bearbeiten
Ältere Versionen sind schlichte Dateien: Korrigiere einen Tippfehler in docs/1.x/ wie überall sonst, oder wechsle in clay edit mit v in die Version. Links in einer älteren Version bleiben in dieser Version, solange sie relativ sind: [Einrichtung](setup.md) verweist auf /1.x/setup. Links, die mit / beginnen, führen in die neueste Version.
Hinweis
Jede gespeicherte Version fügt dem Build ihre Seiten hinzu. Behalte die Versionen, die deine Nutzer wirklich einsetzen, und lösch die Ordner von Versionen, die niemand mehr nutzt.