Documentation v0.6.19

Render Shorthand

This page covers the shorthand string format returned by the render option, and which directives it can and cannot express.

Format

tag#id.class1.class2(key: "value", key2: "value")[ children ]
Part Description
tag Tag name, required
#id, .class Optional; multiple classes allowed
( ... ) Attributes, key: "value" separated by commas or whitespace
[ ... ] Children: nested elements or double-quoted text, may span lines
"text" Parsed with innerHTML, so HTML entities work
const app = new QUI({
  id: "app",
  data: { title: "QuickUI", link: "https://quickui.pardn.io" },
  event: { open: () => {} },
  render: () => `
    section.hero[
      h1[ "{{title}}" ]
      a(q-href: "link", qe-click: "open")[ "Docs" ]
    ]
  `,
});

Whitespace

All whitespace inside double quotes is removed, attribute values included. Use an HTML entity when you need a space:

p[ "Hello World" ]
p[ "Hello World" ]

The first line renders HelloWorld and the second renders Hello World.

Available Directives

Attribute names only accept letters, digits, - and _, so directives starting with : or @ cannot be written.

Feature Shorthand form
Text interpolation "{{title}}"
Attribute binding q- prefix, for example q-href, q-html, q-hide
Events qe- prefix, for example qe-click
:for, :if, :model, <temp :path> Not supported

For loops or conditions, use id with an HTML template instead.

中文