From 7c7252e369f877cd63beb5f0d028517add150d83 Mon Sep 17 00:00:00 2001 From: scotttrinh Date: Sat, 19 Dec 2020 19:53:57 +0000 Subject: [PATCH] deploy: 8a19d974f81559ef014fc582c9698cdb58afd719 --- index.html | 157 +++++++++++++++++++--------------------------- styles/global.css | 23 ------- 2 files changed, 64 insertions(+), 116 deletions(-) diff --git a/index.html b/index.html index a8fc6d4..c59e57c 100644 --- a/index.html +++ b/index.html @@ -11,81 +11,61 @@ -
-
+

kdl - Kat's Document Language

- -
-

- kdl is a document language, mostly based on - SDLang, 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, and is relatively light on syntax compared to XML. -

+

kdl is a document language, mostly based on +SDLang, 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, and is relatively light on syntax compared to XML.

-
-

Design and Discussion

-

- kdl is still extremely new, and discussion about the format should happen - over on the - discussions page - in the Github repo. Feel free to jump in and give us your 2 cents! -

+

Design and Discussion

+

kdl is still extremely new, and discussion about the format should happen +over on the +discussions page +in the Github repo. Feel free to jump in and give us your 2 cents!

-
-

Design Principles

-
    -
  1. Maintainability
  2. -
  3. Flexibility
  4. -
  5. Cognitive simplicity and Learnability
  6. -
  7. Ease of de/serialization
  8. -
  9. Ease of implementation
  10. -
- -

- These are the guiding principles behind the design of KDL, in order of - importance. These principles will hopefully be useful in tie-breaking and - otherwise directing specific decisions when it comes down to it. They are - intentionally vague when it comes to specifics, but more concrete - definitions for each one will be settled on as the project matures. -

+

Design Principles

+
    +
  1. Maintainability
  2. +
  3. Flexibility
  4. +
  5. Cognitive simplicity and Learnability
  6. +
  7. Ease of de/serialization
  8. +
  9. Ease of implementation
  10. +
+

These are the guiding principles behind the design of KDL, in order of +importance. These principles will hopefully be useful in tie-breaking and +otherwise directing specific decisions when it comes down to it. They are +intentionally vague when it comes to specifics, but more concrete +definitions for each one will be settled on as the project matures.

-
-

Overview

- -

The basic syntax is similar to SDLang:

- -
-    
-// This is a node with a single string value
-title "Hello, World"
+

Overview

+

The basic syntax is similar to SDLang:

+
// This is a node with a single string value
+title "Hello, World"
 
 // Multiple values are supported, too
 bookmarks 12 15 188 1234
 
 // Nodes can have properties
-author "Alex Monad" email="alex@example.com" active=true
+author "Alex Monad" email="alex@example.com" active=true
 
 // Nodes can be arbitrarily nested
 contents {
-  section "First section" {
-    paragraph "This is the first paragraph"
-    paragraph "This is the second paragraph"
+  section "First section" {
+    paragraph "This is the first paragraph"
+    paragraph "This is the second paragraph"
   }
 }
 
 // Nodes can be separated into multiple lines
 title \
-  "Some title"
+  "Some title"
 
 // Comment formats:
 
@@ -96,39 +76,34 @@ C style multiline
 */
 
 tag /*foo=true*/ bar=false
-    
-  
- -

But kdl changes a few details:

- -
-    
-// Files must be utf8 encoded!
-smile "😁"
+
+

But kdl changes a few details:

+
// Files must be utf8 encoded!
+smile "😁"
 
 // Instead of anonymous nodes, nodes and properties can be wrapped
-// in "" for arbitrary node names.
-"!@#$@$%Q#$%~@!40" "1.2.3" "!!!!!"=true
+// in "" for arbitrary node names.
+"!@#$@$%Q#$%~@!40" "1.2.3" "!!!!!"=true
 
 // The following is a legal bare identifier:
-foo123~!@#$%^&*.:'|<>/?+ "weeee"
+foo123~!@#$%^&*.:'|<>/?+ "weeee"
 
 // kdl specifically allows properties and values to be
 // interspersed with each other, much like CLI commands.
-foo bar=true "baz" quux=false 1 2 3
+foo bar=true "baz" quux=false 1 2 3
 
 // strings can be multiline as-is, without a different syntax.
-string "my
+string "my
 multiline
-value"
+value"
 
-// raw/unescaped strings use the "r" prefix on string literals and
+// raw/unescaped strings use the "r" prefix on string literals and
 // otherwise behave the same, including multiline support.
-raw r"C:\Users\kdl"
+raw r"C:\Users\kdl"
 
-// You can add any number of # after the r and the last " to
-// disambiguate literal " characters.
-other-raw r#"hello"world"#
+// You can add any number of # after the r and the last " to
+// disambiguate literal " characters.
+other-raw r#"hello"world"#
 
 // There is a single decimal number type, much like JSON's.
 num 1.234e-42
@@ -143,36 +118,32 @@ my-binary 0b1010_1101
 
 // You can comment out individual nodes with /-. In the case below, everything
 // up until the closing `}` becomes commented.
-/-mynode "foo" key=1 {
+/-mynode "foo" key=1 {
   a
   b
   c
 }
 
-// You can apply /- ("slashdash") comments to individual values, properties,
+// You can apply /- ("slashdash") comments to individual values, properties,
 // or child blocks, too:
-mynode /-"commented" "not commented" /-key="value" /-{
+mynode /-"commented" "not commented" /-key="value" /-{
   a
   b
 }
-    
-  
- -

The following SDLang features are removed altogether:

- -
    -
  • "Anonymous" nodes
  • -
  • Binary data literals
  • -
  • Date/time formats
  • -
  • on and off booleans
  • -
  • Backtick strings
  • -
  • Semicolons
  • -
  • Namespaces with :
  • -
  • Shell style (#) and Lua style (--) comments
  • -
  • Distinction between 32/64/128-bit numbers. There's just numbers.
  • -
+
+

The following SDLang features are removed altogether:

+
    +
  • "Anonymous" nodes
  • +
  • Binary data literals
  • +
  • Date/time formats
  • +
  • on and off booleans
  • +
  • Backtick strings
  • +
  • Semicolons
  • +
  • Namespaces with :
  • +
  • Shell style (#) and Lua style (--) comments
  • +
  • Distinction between 32/64/128-bit numbers. There's just numbers.
  • +
-
diff --git a/styles/global.css b/styles/global.css index bd1a45c..1075a73 100644 --- a/styles/global.css +++ b/styles/global.css @@ -510,29 +510,10 @@ video { height: auto; } -.bg-gray-300 { - --tw-bg-opacity: 1; - background-color: rgba(209, 213, 219, var(--tw-bg-opacity)); -} - .table { display: table; } -.contents { - display: contents; -} - -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} - -.py-10 { - padding-top: 2.5rem; - padding-bottom: 2.5rem; -} - * { --tw-shadow: 0 0 #0000; } @@ -546,10 +527,6 @@ video { --tw-ring-shadow: 0 0 #0000; } -.text-center { - text-align: center; -} - @-webkit-keyframes spin { to { transform: rotate(360deg);