diff --git a/index.html b/index.html index 500cf08..b5413f7 100644 --- a/index.html +++ b/index.html @@ -23,10 +23,40 @@ KDL: A cuddly 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:

+
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, as well as various implementations. You can also check out the FAQ to answer all your burning questions!