36 lines
772 B
Text
36 lines
772 B
Text
// defined base element
|
|
document [
|
|
title: "example",
|
|
lang: "de",
|
|
] {
|
|
h1.class "some content";
|
|
p {
|
|
"this is some text and contains ";
|
|
a [ href: "https://example.com" ] "a link";
|
|
".";
|
|
}
|
|
}
|
|
|
|
// attributes are by default parsed as:
|
|
// key: value
|
|
// and are comma seperated.
|
|
//
|
|
// items can define custom parsers for attributes
|
|
|
|
// content is by default parsed as semicolon seperated further item structures
|
|
|
|
// plain text is just plain text
|
|
|
|
// definitions have a : after the name
|
|
// definitions only allow default parsing
|
|
// @slot is the attribute that defines the element body, but can be overwritten
|
|
navItem: [
|
|
dest: string,
|
|
] {
|
|
li.nav-item {
|
|
// use attributes using @
|
|
// interpolate in @{} blocks
|
|
a[ href: "https://example.com@{dest}" ] @dest;
|
|
}
|
|
}
|
|
|