Lihata cheatsheet
Canonical form: {type:name}={content};
Escaping is required for: \ : ; { } = / and newlines
Escaping in te braces required only for }
Comments: lines starting with #
Nesting nodes: li, ha, and ta can contain any other node; the single root node of the tree should be a li or ha or ta.
Node types
te: text
Text is usually implicit. Examples:
key = value;
key name = space is allowed on both sides;
te:key = {value with special characters like \ : ; };
value;
Child on path: not possible.
li: list
Ordered list of nodes.
li:name {
key=value;
value;
}
Child on path: num, name: or name:num
ha: hash
Hash by name of nodes; anonymous node means empty name, only one is allowed per hash.
ha:name {
key1=value1;
key2=value2;
}
Child on path: name
ta: table
A list (rows) of fixed-size-lists (cells); children: implicit li instead of implicit te.
# table with 2 rows and 4 colums:
ta:name {
{cel11; cell12; cell13; cell14}
{cel21; cell22; cell23; cell24}
}
Child on path: row/col; both row and col has the same format as list paths.
sy: symlink
Node symlinking another node in the tree. Can point to anothe sy.
sy:name1 = ../relative_path/to/node;
sy:name2 = /absolute_path/to/node;
Child on path: depends on link target.