YAML formatting

Some information about the formatting style of YAML

Introduction

Wump's configuration is written inside of YAML, a "human friendly data serialization" language. The reason why Wump uses YAML is that it's an easy to read and edit data serialization language (and it's my primary data serialization language)

Examples

Below are some examples on how YAML looks

Strings
Types
Objects
Arrays (1/2)
Arrays (2/2)
strings.yaml
# Strings can be written in plain key: value
# But it's preffered to put them inside of apostrophes
key: 'value'
# To escape an apostrophe, you can simply use 2 of them
key: 'Value''s sheep'
# You can make a multi-line using the > (mt/more than) symbol
key: >
val
ue
# Or you can add a \n after every line using the | (pipe) symbol
key: |
val
ue
# You can also use " (double quotes)
key: "Several lines of text,\n
containing \"double quotes\". Escapes (like \\n) work.\nIn addition,\n
newlines can be esc\\n
aped to prevent them from being converted to a space.\n
\n
Newlines can also be added by leaving a blank line.\n
Leading whitespace on lines is ignored."\n
types.yml
# Some of the types that YAML supports:
string: 'hello'
boolean: true
integer: 1
float: 1.1
null: null
object:
key: 'value'
array:
- 'entry'
objects.yml
# YAML is sensetive about spaces, here's an example of a parent with 2 childs
parent:
key: 'value'
child:
sibling:
key: 'value'
child:
key: 'value'

If a file only includes an array, it'll export as an array.

array.yml
- 'This file'
- 'Exports as an array'
- true
- 10

exports as

array.js
[
'This file',
'Exports as an array'
true
10
];
array.yml
# Arrays are written like this
parent:
# An array with objects
child:
- object: 1
- object: 2
child:
# An array with a number and boolean inside
array:
- 1
- true