lead with a more complete example in the readme

This commit is contained in:
Kat Marchán 2023-10-17 09:55:32 -07:00
parent 9f10522717
commit 7b7d57bf29
No known key found for this signature in database
GPG Key ID: AEB529C08A3C7E9E
1 changed files with 36 additions and 3 deletions

View File

@ -1,9 +1,42 @@
# The KDL Document Language
KDL is a document language with xml-like semantics that looks like you're
invoking a bunch of CLI commands! It's meant to be used both as a
KDL is a small, pleasing document language with xml-like semantics that looks
like you're invoking a bunch of CLI commands! It's meant to be used both as a
serialization format and a configuration language, much like JSON, YAML, or
XML.
XML. It looks like this:
```kdl
package {
name "my-pkg"
version "1.2.3"
dependencies {
// Nodes can have standalone values as well as key/value pairs.
lodash "^3.2.1" optional=true alias="underscore"
}
scripts {
// "Raw" and multi-line strings are supported.
build r#"
echo "foo"
node -c "console.log('hello, world!');"
echo "foo" > some-file.txt
"#
}
// `\` breaks up a single node across multiple lines.
the-matrix 1 2 3 \
4 5 6 \
7 8 9
// "Slashdash" comments operate at the node level, with just `/-`.
/-this-is-commented {
this "entire" "node" {
"is" "gone"
}
}
}
```
There's a living [specification](SPEC.md), as well as various
[implementations](#implementations). You can also check out the [FAQ](#faq) to