aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-05-28 23:09:02 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-05-28 23:09:02 -0700
commit2d6907bbdd2df0572fe6e63e27e1e8d581b5ce27 (patch)
tree693b0651879ab5db49f08eaa27c0934086e9ce81
parent1a74c6731b9f71e9bd2c698965fc6a56d952691d (diff)
downloadtl-who-2d6907bbdd2df0572fe6e63e27e1e8d581b5ce27.tar.gz
tl-who-2d6907bbdd2df0572fe6e63e27e1e8d581b5ce27.tar.bz2
tl-who-2d6907bbdd2df0572fe6e63e27e1e8d581b5ce27.zip
README: mention smooth syntax of TL-WHO.
-rw-r--r--README.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/README.md b/README.md
index 9565161..7b569a5 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,30 @@ What is noteworthy here is that a single string is produced out of the nested
Lisp syntax, and that string is therefore sent to the `*stdout*` stream
using a single call to the `put-string` function.
+Another nice feature of TL-WHO is that it has a "quiet" syntax free
+of extraneous punctuation and nesting. A HTML tag is
+written as a list headed by a keyword symbol, for instance `(:a)`
+encodes `<a></a>`. If this keyword is followed by keyword-value
+properties, those are the attributes:
+
+ ::text
+ (:a :href "foo.html")
+ -> <a href="foo.html"></a>
+
+ (:a :href "foo.html" :target "__blank")
+ -> <a href="foo.html" target="__blank"></a>
+
+Then any remaining material after the keyword-value pairs is
+interpreted as the tag content.
+
+ ::text
+ (:a :href "foo.html" :target "__blank" "foo")
+ -> <a href="foo.html">foo</a>
+
+All material that is not a tag or attribute keyword is an evaluated Lisp
+expression, so no special syntax is needed to indicate evaluation.
+
+
## Documentation
Users of TL-WHO may rely on the original CL-WHO API documentation.