Benutzer-Werkzeuge

Webseiten-Werkzeuge


yaml

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
yaml [2018/08/18 21:08]
root angelegt
yaml [2018/10/03 21:26] (aktuell)
root
Zeile 1: Zeile 1:
 +<WRAP center round important 60%>
 +Die Auflistung der Typen ist nicht abscließend. \\ Es gibt auch noch weitere und auch weitere Konstrukte
 +</WRAP>
 +
 +
 +====== Allgemein =======
 +
 +  * Ebenen werden durch Einrücken definiert
 +  * Eingerückte Elemente unterhalb eines Elements einer höheren Ebene sind Kindelemente dieses Elements
 +      * Kindelemente müssen vom gleichen Typ sein
 +          * man kann nicht Listen und Dictionaries in der gleichen Kindebene mischen
 +
 +
 +====== Syntax ======
 +
 +===== Kommentare =====
 +
 +  * Alles nach einem # auf der gleichen Zeile ist ein Kommentar
 +
 +
 +===== Lists =====
 +
 +  * Listenelemente werden durch das definieren eines Listenelementes begonnen
 +  * Listenelemente werden durch "-" markiert
 +  * Zwischen "-" und Listenelement muss ein Leerzeichen sein
 +  * Alles was Teil des Listenelementes ist muss eingerückt relative zum "-" sein welcher das Listenelement markiert
 +
 +\\ 
 +Listen werden implizit definiert, in dem einfach ein Listenelement definiert wird:
 <code> <code>
-Bla +- eins 
-Blubs +- zwei 
-Trala+</code> 
 +Ist eine einfache Liste mit 2 Elementen 
 +\\ \\ 
 +Listen können Teil/Kinder von anderen Elementen sein:
 <code> <code>
 +Autos:
 +    - Porsche
 +    - Trabant
 +    - Opel
 +Fahrer:
 +    - Tanja
 +    - Peter
 +    - Sibile
 +</code>
 +2 Dictionaries: \\ 
 +  * Autos mit den Listeneinträgen "Porsche", "Trabant" und "Opel"
 +  * Fahrer mit den Listeneinträgen "Tanja","Peter","Sibile"
  
-Ist ein String das ist Line-Folding+\\ \\ 
-Alles was auf einer Ebene steht und kein Listeneintrag oder Dictionary ist wird hintereinandergehängt.+Listen können anderer Elemente als Kind beinhalten: 
 +<code> 
 +Porsche: Tanja 
 +  Trabant: Peter 
 +  Opel: Sibile 
 +- Kleinbus: Petra 
 +  LKW: Dieter 
 +</code> 
 +In diesem Fall ist das oberste Element eine Liste mit 2 Einträgen, die jeweils ein Dictionary enthalten das erste hat 3 Einträge, das 2. 2
 +\\ \\ 
 +Alternative Schreibweise: 
 +<code> 
 +-  
 +  Porsche: Tanja 
 +  Trabant: Peter 
 +  Opel: Sibile 
 +-  
 +  Kleinbus: Petra 
 +  LKW: Dieter 
 +</code> 
 +In diesem Fall sind Listeneinträge und der Inhhalt des Listeneintrags voneinander abgesetzt, das Ergebnis ist aber das gleiche wie bei dem vorhergehenden Beispiel.
  
 +
 +===== Dictionary =====
 +
 +  * Dictionaries werden eingeleitet, in dem einfach ein Key:Value-Pair definiert wird
 +  * Zwischen dem "Key:" und dem Value muss ein Leerzeichen sein -> "Key: Value"
 +
 +<code>
 +Vorname: Dieter
 +Nachname: Fischer
 +</code>
 \\ \\ \\ \\
 +Sie können Teil anderer Elemente sein:
 <code> <code>
-eins +Porsche: Tanja 
-- zwei +  Trabant: Peter 
-drei+  Opel: Sibile 
 +Kleinbus: Petra 
 +  LKW: Dieter
 </code> </code>
  
-Ist ein Liste, jedes der mit "-" beginnenden Einträge ist ein Listeneintrag. \\ Eine Liste auf oberster Ebene scheint erst mit dem Ende des Dokuments zu enden - das heißt ab Beginn der Liste muss alles Liste sein. 
  
 +===== Scalare/Strings =====
 +
 +  * Unformatierter Text (auch in Elementen) kann einfach hintereinander geschrieben werden 
 +  * oder über mehrere Zeilen verteilt wenn jede Zeile auf dem gleichen Einzugslevel ist
 +      * in diesem Fall erzeugt jeder Zeilenumbruch ein Leerzeichen
 +  * 
 +
 +Hintereinanderweg:
 +<code>
 +Bla Blub Bla
 +</code>
 +Ergibt den String: "Bla Blub Bla"
 \\ \\ \\ \\
 +
 +Verteilt über mehrere Zeilen, alle mit dem gleichen Indention-Level:
 <code> <code>
-- eins +freitext: Bla 
-- +          Blubs 
-  - subliste1 +          Trala
-  - subliste2 +
-- drei+
 </code> </code>
-Ein Listenelement ohne Wert und darauffolgend eingerückten Listenelementen definieren eine Unterliste. \\ Das heißt das Listenelement ohne direkten Werthat die eingerückte Liste als Wert.+Ergibt den String: "Bla Blub Bla" 
 +\\ \\ 
 +Mit Zeilenumbrüchen: 
 +<code> 
 +freitext: > 
 +          Bla 
 +          Blubber 
 +              Blubs 
 +          Trala 
 +</code> 
 +Ergibt: "freitext": "Bla Blubber\n Blubs\n Trala\n" 
 +Der Unterschied ist das ">"-Zeichen. 
 +Alles was das gleiche Intendion-Level hat wird durch Leerzeichen getrennt, alles andere (anderes Indention-Level) durch Zeilenumbruch + Leerzeichen. 
 +\\ \\ 
 +Behalte die Formatierung bei: 
 +<code> 
 +freitext: | 
 +          Bla 
 +          Blubber 
 +          Blubs 
 +            Trala 
 +</code> 
 +Ergebnis: "Bla\nBlubber\nBlubs\n  Trala\n" \\ 
 +Jede Zeile wird als Zeile behandelt (erzeugt einen Zeilenumbruch), jedes Einrücken wird als Einrücken behandelt. \\ 
 +Das Ergebnis ist also 1:1. 
 +            
 + 
 +Man kann Scalare auch in " schreiben: 
 +<code> 
 +freitext: "Hallo du Mensch \x0d" 
 +</code> 
 +Ergibt: Hallo du Mensch r \\ \\ 
 +Escapte Zeichensequenzen werden bei der Nutzung von " aufgelöst. \\ 
 +Ist ein in " gefasster String über mehrere Zeilen verteilt, wirkt sich jeder Zeilenumbruch als Leerzeichen aus. \\ 
 +Innerhalb der "" muss die Indention nicht eingehalten werden (es kann also auch Text weiter links stehen als das Element zu dem er gehört). 
 +\\ \\ 
 +Schreibweise in ': 
 +<code> 
 +freitext: 'Hallo du Mensch \x0d' 
 +</code> 
 +Ergibt: Hallo du Mensch \\x0d\\ \\ 
 +Escapte Zeichensequenzen werden bei der Nutzung von ' nicht aufgelöst - sonder ggf. das Steuerzeichen "\" ecsaped. \\ 
 +Ist ein in ' gefasster String über mehrere Zeilen verteiltwirkt sich jeder Zeilenumbruch als Leerzeichen aus. \\ 
 +Innerhalb der '' muss die Indention nicht eingehalten werden (es kann also auch Text weiter links stehen als das Element zu dem er gehört). 
 + 
 +===== Zahlen ====== 
 + 
 +  * Werden im Prinzip einfach so geschrieben 
 + 
 +Beispiel Ganzzahl: 
 +<code> 
 +
 +</code> 
 +\\  
 +Beispiel Fließkommazahl: 
 +<code> 
 +1.
 +</code> 
 + 
 + 
 + 
 + 
 +====== Informationen ======
  
 +  * Standard: http://yaml.org/spec/
yaml.1534619326.txt.gz · Zuletzt geändert: 2018/08/18 21:08 von root