aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-09-14 22:22:41 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-09-14 22:22:41 +0200
commitbe988fbc200620bfff8657b7baf868234e899e13 (patch)
tree9089b4d1fd6aaaae08a69ac898dc6199bf164c87 /test
parent642d5264e0d7b3d3870d13c2cc4a04987ee65ab6 (diff)
Lots of changes once again!
Diffstat (limited to 'test')
-rw-r--r--test/corpus/document.txt156
1 files changed, 156 insertions, 0 deletions
diff --git a/test/corpus/document.txt b/test/corpus/document.txt
new file mode 100644
index 0000000..5a8f304
--- /dev/null
+++ b/test/corpus/document.txt
@@ -0,0 +1,156 @@
+=========================
+Complete Document Example
+=========================
+
+html lang="en" {
+ head {
+ meta charset="UTF-8" {}
+ meta
+ name="viewport"
+ content="width=device-width, initial-scale=1.0"
+ {}
+ link href="/favicon.svg" rel="shortcut icon" type="image/svg" {}
+ link href="/style.svg" rel="stylesheet" {}
+ title {-My Website Title}
+ }
+
+ body {
+ p #my-id {= This is a paragraph with the id ‘my-id’ }
+ p .my-cls {= This is a paragraph with the class ‘my-cls’ }
+
+ / div {
+ p {- This entire div is commented out. }
+ p {- Isn’t that neat? }
+ }
+
+ p
+ #some-id
+ .class-1
+ .class-2
+ key-1="value-1"
+ key-2 = "value-2"
+ {-
+ This paragraph has an ID, two classes, and two additional
+ attributes. GSP allows us to use the ‘#ident’ and ‘.ident’
+ syntaxes as shorthands for applying IDs, and classes. This
+ is a text node, so nothing is being interpreted as GSP nodes,
+ but we can include them inline if we want. As an example,
+ here is some @em {-emphatic} text. Your inline nodes can
+ also have attributes @em #id {-just like a regular node}.
+ }
+ }
+}
+
+---
+
+(document
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body
+ (node
+ name: (ident)
+ body: (node_body
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (attr
+ name: (ident)
+ value: (string))
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (attr
+ name: (ident)
+ value: (string))
+ (attr
+ name: (ident)
+ value: (string))
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (attr
+ name: (ident)
+ value: (string))
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body))
+ (node
+ name: (ident)
+ body: (node_body
+ (text)))))
+ (node
+ name: (ident)
+ body: (node_body
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (id_attr
+ (ident)))
+ body: (node_body
+ (text)))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (class_attr
+ (ident)))
+ body: (node_body
+ (text)))
+ (comment
+ name: (ident)
+ body: (node_body
+ (node
+ name: (ident)
+ body: (node_body
+ (text)))
+ (node
+ name: (ident)
+ body: (node_body
+ (text)))))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (id_attr
+ (ident))
+ (class_attr
+ (ident))
+ (class_attr
+ (ident))
+ (attr
+ name: (ident)
+ value: (string))
+ (attr
+ name: (ident)
+ value: (string)))
+ body: (node_body
+ (text
+ (node
+ name: (ident)
+ body: (node_body
+ (text)))
+ (node
+ name: (ident)
+ attrs: (attr_list
+ (id_attr
+ (ident)))
+ body: (node_body
+ (text)))))))))))