Quellcode auf einer Wiki-Seite anzeigen
Ausgangslage
Das Repository ist gemountet und soll nun auf einer Wiki-Seite erscheinen — entweder der ganze Baum zum Browsen oder eine einzelne Datei beziehungsweise ein Zeilenausschnitt neben einer Erläuterung.
Lösungsüberblick
Es gibt zwei Marken. Die eine mit der anderen zu verwechseln ist der häufigste Fehler beim Einbetten.
| Marke | Was sie zeigt | Wer sie zeichnet | Wo sie wirkt |
|---|---|---|---|
{{wk:adogit>…}} | Baum aus Ordnern und Dateien des ganzen Repositorys | das Plugin wkdoadogit | nur auf einer Seite unterhalb der Projektwurzel, etwa de:projects:dwplugins:repos |
{{source>ado:…}} | Inhalt einer einzelnen Datei | das Plugin wksourceview mit dem Schema ado | auf einer Seite unterhalb der Projektwurzel oder auf einer Seite innerhalb des Mount-Namespace |
Beide laufen durch dieselben Rechte: über den Zugriff entscheidet der Mount-Namespace, nie die Seite, auf der die Marke steht.
Durchführung
Baum des Repositorys
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit}}
Der Aufbau lautet {{wk:adogit>verbindung:projekt:repo[:ref[:pfad]]}}. Ein fehlender Ref bedeutet den Standardbranch des Repositorys, ein fehlender Pfad die Wurzel. Der optionale Zusatz region=<name> am Ende bietet den Browser einer Seitenregion der Shell an:
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain region=toc}}
Eine einzelne Datei
{{source>ado:wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain/MountAclGate.php}}
Der Aufbau lautet {{source>ado:verbindung:projekt:repo:ref:pfad}}. Bei dieser Marke sind alle fünf Felder Pflicht, nennen Sie den Branch also stets. Ein leeres Feld führt zur Ablehnung, nicht zum Standardbranch.
Zeilenausschnitt
{{source>ado:wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain/MountAclGate.php#L141-L146}}
Erlaubte Schreibweisen sind #L25, #L10-L40 und das offene #L10-. Gezählt wird ab 1, und der Bereich wird auf die Länge der Datei beschnitten. Der Bereich wirkt allein auf die Darstellung: von Azure DevOps wird stets die ganze Datei übertragen.
Darstellungsoptionen
Optionen schreiben Sie nach einem Leerzeichen. Sie gelten für wksourceview, nicht für das Schema ado.
{{source>ado:wvds:DokuWiki-Plugins:wkdoadogit:main:/README.md#L1-L20 mode=block numbers=1 lang=markdown}}
| Option | Werte | Vorgabe |
|---|---|---|
mode | inline, block, preview oder drawer | Wert der Einstellung default_mode von wksourceview |
numbers | 0 oder 1 | Wert der Einstellung default_numbers |
lang | Sprachname für die Syntaxhervorhebung | wird aus der Dateiendung erkannt |
Hinweise
- Das erste Feld ist der Schlüssel der Verbindung, nicht ihre Nummer. Gesucht wird die Verbindung nach ihrem Schlüssel innerhalb des DWDO-Projekts, zu dem die Seite gehört; eine Zahl funktioniert nicht.
- Jede Einbettung ist ein Netzaufruf. Eine Seite mit einem Dutzend Einbettungen zahlt ein Dutzend Aufrufe, begrenzt durch Zeitschranken und Byte-Obergrenze in
wkdoado. - Eine an einen Branch geheftete Einbettung wandert still. Text, der Zeile 40 erklärt, wird weiter gezeichnet, wenn der Code auf Zeile 90 gewandert ist. Heften Sie Erläuterungen deshalb lieber an einen Commit (40 Hex-Zeichen) als an einen Branch.
- Eine Seite mit Einbettung wird nicht zwischengespeichert. Beide Marken schalten den Seiten-Cache ab, damit rechtegeschützter Inhalt nicht an den falschen Leser gerät.
- Zu große und binäre Dateien werden nicht gezeichnet. Statt des Inhalts erscheint eine Zustandskarte; die Grenzen setzen
max_bytesundmax_linesvonwksourceview. - Eine Ablehnung nennt den Grund nicht. Nicht gemountetes Repository, unbekannte Verbindung und fehlendes Recht antworten bewusst ähnlich.
Verwandte Themen
- Anleitung: Seite mit dem Browser – die erste Seite mit dem Browser, mit vollständigem Beispiel
- Eine Datei aus dem Wiki bearbeiten und committen – eine Datei aus dem Browser bearbeiten und committen
- Technische Referenz: Sichtbarkeits-Tier – wer eingebetteten Inhalt sehen darf
- Diagnose – was welche Zustandskarte bedeutet