--- obj: format website: https://yaml.org wiki: https://en.wikipedia.org/wiki/YAML mime: "application/yaml" extension: ["yaml", "yml"] --- # YAML YAML is a data serialization language designed to be human-friendly and work well with modern programming languages for common everyday tasks. Additionally any valid [JSON](JSON.md) document is also a valid YAML document. ## Syntax ### **Indentation:** Indentation is used to represent the structure of the data. Spaces or tabs can be used, but consistency is crucial. ### **Key-Value Pairs:** Data is represented as key-value pairs using a colon (`:`) to separate the key and value. ### **Comments:** Comments can be made with `#` symbol. ```yaml key: value # My Comment # Another comment ``` ### **Lists / Sequences:** Lists are represented using a hyphen (`-`) followed by a space. ```yaml key: value list: - item1 - item2 ``` ### **Mappings:** Mappings represent key-value pairs. ```yaml key: value nested: key: value ``` ### Data Types YAML support many different data types such as strings, numbers and booleans. ```yaml mystr: "Hello World" mynum: 3 myfloat: 3.1415 mybool: true multiline: | hello world this is multiline key: value ``` ## Common Use Cases ### 1. **Configuration Files:** YAML is widely used for configuration files in applications and systems. ### 3. **CI/CD Pipelines:** Many CI/CD tools, such as GitLab CI and [GitHub Actions](../dev/GitHub%20Actions.md), use YAML for defining pipelines.