Was dieses Werkzeug prüft
Dass das Dokument parst — was in YAML mehr umfasst, als es klingt:
- die Einrückung ist konsistent und aus Leerzeichen gebaut;
- Anführungszeichen sind geschlossen, Block-Skalare (
|,>) korrekt eingerückt; - jeder Alias
*namehat einen Anker&name, auf den er zeigt; - keine Zuordnung trägt denselben Schlüssel zweimal;
----Trenner ergeben vollständige Dokumente.
Besteht es, erhalten Sie die Form der Wurzel und die Größe. Sonst die Meldung des Parsers mit Zeile und Spalte — und YAML-Parser sind ungewöhnlich gut darin zu sagen, wo.
Validator, Prüfer, Parser — und .yml gegen .yaml
Syntaxprüfer, Formatprüfer, Parser, Tester, Validator: fünf Namen für eine Frage — parst dieses Dokument? Genau das geschieht beim Einfügen.
.yml und .yaml sind dieselbe Sprache, keine zwei Varianten. Die Endung ist Gewohnheit: Das YAML-Projekt bittet um .yaml, während eine Generation von Werkzeugen zuerst .yml schrieb und nie wechselte. Docker Compose liest beide, GitHub Actions liest beide, und diese Seite ebenso — nichts in der Datei verrät, unter welcher Schreibweise sie ankam.
Tabulatoren sind keine Einrückung
Ein Tabulator ist acht Spalten breit, oder vier, oder zwei, je nachdem, wer hinsieht. Eine aus Tabulatoren gebaute Einrückung hat daher keine festgelegte Bedeutung, und in YAML ist die Einrückung die Struktur. Die Spezifikation verbietet sie; dieses Werkzeug auch.
In einem zitierten Skalar ist ein Tabulator nur ein Zeichen und völlig in Ordnung. Nur der linke Rand ist das Problem.
Doppelte Schlüssel sind ein Fehler
port: 8080
host: example.com
port: 3000
Die Spezifikation verlangt eindeutige Schlüssel in einer Zuordnung. Viele Parser ignorieren das und behalten den letzten: so läuft eine Konfigurationsdatei stillschweigend auf einem Wert, den Sie vergessen hatten, zweimal geschrieben zu haben. Hier ist es ein Fehler, mit der Zeile des zweiten.
Ein Strom mehrerer Dokumente ist gültig
--- trennt Dokumente, und eine Datei darf beliebig viele enthalten. Der Bericht sagt, wie viele. Ein Kubernetes-Manifest ist meist ein Strom, und ein Strom ist kein Syntaxfehler.
Was es nicht prüft
Ob das Dokument etwas bedeutet.
Eine Datei kann perfektes YAML und eine kaputte Compose-Datei sein: ein Dienst ohne Image, ein Schlüssel enviroment geschrieben, ein Port zitiert, wo eine Zahl erwartet war. Nichts davon ist Syntax, und nichts hier wird es fangen.
Es entscheidet auch nicht, was ein blankes Wort bedeutet. yes ist für einen YAML-1.2-Leser die Zeichenkette yes und für einen 1.1-Leser der Wahrheitswert wahr, und beide lesen gültiges YAML — ein Unterschied, den dieser Validator nicht für Sie auflösen kann, weil er davon abhängt, wer die Datei als Nächstes liest.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.