diff options
author | shade34321 <shade34321@users.noreply.github.com> | 2022-10-05 19:28:53 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-05 19:28:53 +0300 |
commit | 25a770de37f6ad4099dff490a44b6ec70db3d4b4 (patch) | |
tree | 5cef37fdd24f7391e7fdfd9f1f1b1c1bc5e80c54 | |
parent | 3fc337146383451d9348f00bf8abbb0dd1aa2dab (diff) |
Docs: fixed configs docs to properly display code blocks (#79040)
* fixed some docs to properly display code blocks
Co-authored-by: Shade Alabsa <shadealabsa@microsoft.com>
-rw-r--r-- | docs/docsite/rst/reference_appendices/YAMLSyntax.rst | 80 |
1 files changed, 60 insertions, 20 deletions
diff --git a/docs/docsite/rst/reference_appendices/YAMLSyntax.rst b/docs/docsite/rst/reference_appendices/YAMLSyntax.rst index f80e57c5619..13f08ef4c2c 100644 --- a/docs/docsite/rst/reference_appendices/YAMLSyntax.rst +++ b/docs/docsite/rst/reference_appendices/YAMLSyntax.rst @@ -26,7 +26,9 @@ to write lists and dictionaries in YAML. There's another small quirk to YAML. All YAML files (regardless of their association with Ansible or not) can optionally begin with ``---`` and end with ``...``. This is part of the YAML format and indicates the start and end of a document. -All members of a list are lines beginning at the same indentation level starting with a ``"- "`` (a dash and a space):: +All members of a list are lines beginning at the same indentation level starting with a ``"- "`` (a dash and a space): + +.. code:: yaml --- # A list of tasty fruits @@ -36,7 +38,9 @@ All members of a list are lines beginning at the same indentation level starting - Mango ... -A dictionary is represented in a simple ``key: value`` form (the colon must be followed by a space):: +A dictionary is represented in a simple ``key: value`` form (the colon must be followed by a space): + +.. code:: yaml # An employee record martin: @@ -44,7 +48,9 @@ A dictionary is represented in a simple ``key: value`` form (the colon must be f job: Developer skill: Elite -More complicated data structures are possible, such as lists of dictionaries, dictionaries whose values are lists or a mix of both:: +More complicated data structures are possible, such as lists of dictionaries, dictionaries whose values are lists or a mix of both: + +.. code:: yaml # Employee records - martin: @@ -62,7 +68,9 @@ More complicated data structures are possible, such as lists of dictionaries, di - fortran - erlang -Dictionaries and lists can also be represented in an abbreviated form if you really want to:: +Dictionaries and lists can also be represented in an abbreviated form if you really want to: + +.. code:: yaml --- martin: {name: Martin D'vloper, job: Developer, skill: Elite} @@ -72,7 +80,9 @@ These are called "Flow collections". .. _truthiness: -Ansible doesn't really use these too much, but you can also specify a :ref:`boolean value <playbooks_variables>` (true/false) in several forms:: +Ansible doesn't really use these too much, but you can also specify a :ref:`boolean value <playbooks_variables>` (true/false) in several forms: + +.. code:: yaml create_key: true needs_agent: false @@ -85,7 +95,9 @@ Use lowercase 'true' or 'false' for boolean values in dictionaries if you want t Values can span multiple lines using ``|`` or ``>``. Spanning multiple lines using a "Literal Block Scalar" ``|`` will include the newlines and any trailing spaces. Using a "Folded Block Scalar" ``>`` will fold newlines to spaces; it's used to make what would otherwise be a very long line easier to read and edit. In either case the indentation will be ignored. -Examples are:: +Examples are: + +.. code:: yaml include_newlines: | exactly as you see @@ -97,7 +109,9 @@ Examples are:: single line of text despite appearances -While in the above ``>`` example all newlines are folded into spaces, there are two ways to enforce a newline to be kept:: +While in the above ``>`` example all newlines are folded into spaces, there are two ways to enforce a newline to be kept: + +.. code:: yaml fold_some_newlines: > a @@ -108,12 +122,16 @@ While in the above ``>`` example all newlines are folded into spaces, there are e f -Alternatively, it can be enforced by including newline ``\n`` characters:: +Alternatively, it can be enforced by including newline ``\n`` characters: + +.. code:: yaml fold_same_newlines: "a b\nc d\n e\nf\n" Let's combine what we learned so far in an arbitrary YAML example. -This really has nothing to do with Ansible, but will give you a feel for the format:: +This really has nothing to do with Ansible, but will give you a feel for the format: + +.. code:: yaml --- # An employee record @@ -144,17 +162,23 @@ While you can put just about anything into an unquoted scalar, there are some ex A colon followed by a space (or newline) ``": "`` is an indicator for a mapping. A space followed by the pound sign ``" #"`` starts a comment. -Because of this, the following is going to result in a YAML syntax error:: +Because of this, the following is going to result in a YAML syntax error: + +.. code:: text foo: somebody said I should put a colon here: so I did windows_drive: c: -...but this will work:: +...but this will work: + +.. code:: yaml windows_path: c:\windows -You will want to quote hash values using colons followed by a space or the end of the line:: +You will want to quote hash values using colons followed by a space or the end of the line: + +.. code:: yaml foo: 'somebody said I should put a colon here: so I did' @@ -162,14 +186,18 @@ You will want to quote hash values using colons followed by a space or the end o ...and then the colon will be preserved. -Alternatively, you can use double quotes:: +Alternatively, you can use double quotes: + +.. code:: yaml foo: "somebody said I should put a colon here: so I did" windows_drive: "c:" The difference between single quotes and double quotes is that in double quotes -you can use escapes:: +you can use escapes: + +.. code:: yaml foo: "a \t TAB and a \n NEWLINE" @@ -183,17 +211,23 @@ The following is invalid YAML: Further, Ansible uses "{{ var }}" for variables. If a value after a colon starts -with a "{", YAML will think it is a dictionary, so you must quote it, like so:: +with a "{", YAML will think it is a dictionary, so you must quote it, like so: + +.. code:: yaml foo: "{{ variable }}" -If your value starts with a quote the entire value must be quoted, not just part of it. Here are some additional examples of how to properly quote things:: +If your value starts with a quote the entire value must be quoted, not just part of it. Here are some additional examples of how to properly quote things: + +.. code:: yaml foo: "{{ variable }}/additional/string/literal" foo2: "{{ variable }}\\backslashes\\are\\also\\special\\characters" foo3: "even if it's just a string literal it must all be quoted" -Not valid:: +Not valid: + +.. code:: text foo: "E:\\path\\"rest\\of\\path @@ -203,14 +237,18 @@ as the first character of an unquoted scalar: ``[] {} > | * & ! % # ` @ ,``. You should also be aware of ``? : -``. In YAML, they are allowed at the beginning of a string if a non-space character follows, but YAML processor implementations differ, so it's better to use quotes. -In Flow Collections, the rules are a bit more strict:: +In Flow Collections, the rules are a bit more strict: + +.. code:: text a scalar in block mapping: this } is [ all , valid flow mapping: { key: "you { should [ use , quotes here" } Boolean conversion is helpful, but this can be a problem when you want a literal `yes` or other boolean values as a string. -In these cases just use quotes:: +In these cases just use quotes: + +.. code:: yaml non_boolean: "yes" other_string: "False" @@ -219,7 +257,9 @@ In these cases just use quotes:: YAML converts certain strings into floating-point values, such as the string `1.0`. If you need to specify a version number (in a requirements.yml file, for example), you will need to quote the value if it looks like a floating-point -value:: +value: + +.. code:: yaml version: "1.0" |