1--- %YAML:1.0
2test: Trailing Document Separator
3todo: true
4brief: >
5    You can separate YAML documents
6    with a string of three dashes.
7yaml: |
8    - foo: 1
9      bar: 2
10    ---
11    more: stuff
12python: |
13    [
14        [ { 'foo': 1, 'bar': 2 } ],
15        { 'more': 'stuff' }
16    ]
17ruby: |
18    [ { 'foo' => 1, 'bar' => 2 } ]
19
20---
21test: Leading Document Separator
22todo: true
23brief: >
24    You can explicitly give an opening
25    document separator to your YAML stream.
26yaml: |
27    ---
28    - foo: 1
29      bar: 2
30    ---
31    more: stuff
32python: |
33    [
34        [ {'foo': 1, 'bar': 2}],
35        {'more': 'stuff'}
36    ]
37ruby: |
38    [ { 'foo' => 1, 'bar' => 2 } ]
39
40---
41test: YAML Header
42todo: true
43brief: >
44    The opening separator can contain directives
45    to the YAML parser, such as the version
46    number.
47yaml: |
48    --- %YAML:1.0
49    foo: 1
50    bar: 2
51php: |
52    ['foo' => 1, 'bar' => 2]
53documents: 1
54
55---
56test: Red Herring Document Separator
57brief: >
58    Separators included in blocks or strings
59    are treated as blocks or strings, as the
60    document separator should have no indentation
61    preceding it.
62yaml: |
63    foo: |
64        ---
65php: |
66    ['foo' => "---\n"]
67
68---
69test: Multiple Document Separators in Block
70brief: >
71    This technique allows you to embed other YAML
72    documents within literal blocks.
73yaml: |
74    foo: |
75        ---
76        foo: bar
77        ---
78        yo: baz
79    bar: |
80        fooness
81php: |
82    [
83       'foo' => "---\nfoo: bar\n---\nyo: baz\n",
84       'bar' => "fooness\n"
85    ]
86