The hsx Reference Manual

This is the hsx Reference Manual, version 1.2.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:26:17 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 hsx

Component-oriented HTML DSL

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Long Description

# HSX – HTML S-expression

HSX is a declarative, component-oriented HTML DSL for Common Lisp.
It lets you describe HTML structures and reusable components directly in Lisp, safely render them to HTML strings, and seamlessly integrate with your web applications.

→ [Example Project](https://github.com/skyizwhite/website)


## How It Works

HSX translates Lisp S-expressions into HTML by expanding them into calls to ‘create-element‘.

Each tag or component inside an ‘(hsx ...)‘ form becomes:

“‘lisp
(create-element type props children)
“‘

For example:

“‘lisp
(hsx
(article :class "container"
(h1 "Title")
(p "Paragraph")
(~share-button :service :x)))
“‘

Expands into:

“‘lisp
(create-element :article
(list :class "container")
(list (create-element :h1 nil (list "Title"))
(create-element :p nil (list "Paragraph"))
(create-element #’~share-button
(list :service :x)
nil)))
“‘


## Quick Example

“‘lisp
(hsx
(div :id "main" :class "container"
(h1 "Hello, HSX!")
(p "This is a simple paragraph.")))
“‘


“‘html
<div id="main" class="container">
<h1>Hello, HSX!</h1>
<p>This is a simple paragraph.</p>
</div>
“‘


## Basic Usage

### Step 1: Create a Component

Components are defined using ‘defcomp‘.
They are simple Lisp functions that return HSX elements.

Component names must start with ‘~‘ and props should be declared with ‘&key‘ and/or ‘&rest‘.
The special ‘children‘ key automatically receives any nested elements.

“‘lisp
(defcomp ~button (&key href class children)
(hsx
(a :href href :class (clsx "btn" class)
children)))
“‘

### Step 2: Combine Components

HSX allows composition of components just like JSX.

“‘lisp
(defcomp ~card (&key title children)
(hsx
(div :class "card"
(h2 title)
(div :class "content"
children))))

(defparameter *view*
(hsx
(div :class "container"
(~card :title "Hello"
(~button :href "/start" :class "primary"
"Get Started"))
(~card :title "Docs"
(p "Read the documentation to learn more.")))))
“‘

### Step 3: Render to HTML

Use ‘render-to-string‘ to produce a full HTML string.
Pass ‘:pretty t‘ for indented, human-readable output.

“‘lisp
(render-to-string *view* :pretty t)
“‘

Output:

“‘html
<div class="container">
<div class="card">
<h2>Hello</h2>
<div class="content">
<a href="/start" class="btn primary">Get Started</a>
</div>
</div>
<div class="card">
<h2>Docs</h2>
<div class="content">
<p>Read the documentation to learn more.</p>
</div>
</div>
</div>
“‘


## Fragments

### ‘<>‘ — Fragment

Combine multiple elements without creating an extra parent tag.

“‘lisp
(hsx
(<>
(li "One")
(li "Two")))
“‘


“‘html
<li>One</li>
<li>Two</li>
“‘

Fragments are useful when returning multiple sibling elements from a component.

### ‘raw!‘ — Raw Fragment

HSX automatically escapes unsafe characters in text and attribute values to prevent injection attacks.
If you need to insert raw, unescaped HTML, you can do so — but use it only with trusted content, as it disables automatic escaping and may expose security risks.

“‘lisp
(hsx
(script (raw! "alert(’unsafe if user-generated!’)")))
“‘


## Expressions and Logic

You can embed any Lisp expression directly inside an HSX form.
Since HSX is just Lisp syntax, you can use if, when, loop, or any other macro to build dynamic content.

### Conditional Rendering

“‘lisp
(hsx
(div
(if (> (random 10) 5)
(hsx (p "High!"))
(hsx (p "Low!")))))
“‘

### Loop Rendering

“‘lisp
(hsx
(ul
(loop :for item :in items :collect
(hsx (li item)))))
“‘

### Dynamic Props

HSX supports both inline plist props and dynamic plist props.

“‘lisp
(let ((props ’(:class "btn" :href "/")))
(hsx (a props "Dynamic Link")))
“‘


## Utilities

### ‘register-web-components‘

Makes Web Components usable in HSX.

“‘lisp
(register-web-components
custom1 custom2)

(hsx
(custom1 :prop "val"
(custom2)))
“‘


“‘html
<custom1 prop="val">
<custom2></custom2>
</custom1>
“‘

### ‘clear-web-components‘

Clears all registered Web Components.

### ‘clsx‘

Builds class strings conditionally.
Removes ‘nil‘ and joins the remaining strings with spaces.

“‘lisp
(clsx "btn" nil "primary")
;; => "btn primary"
“‘

## License

MIT License

© 2024 Akira Tempaku

© 2018 Bo Yao (original [flute](https://github.com/ailisp/flute) project)

Version

1.2.0

Dependency

hsx/main (system).

Source

hsx.asd.


2.2 hsx/main

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Dependencies
Source

hsx.asd.


2.3 hsx/element

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Dependencies
  • alexandria (system).
  • str (system).
  • hsx/utils (system).
Source

hsx.asd.


2.4 hsx/utils

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Dependency

alexandria (system).

Source

hsx.asd.


2.5 hsx/dsl

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Dependencies
Source

hsx.asd.


2.6 hsx/builtin

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Dependency

hsx/dsl (system).

Source

hsx.asd.


2.7 hsx/web-components

Maintainer

Akira Tempaku <>

Author

Akira Tempaku, Bo Yao

License

MIT

Source

hsx.asd.


3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 hsx/hsx.asd

Source

hsx.asd.

Parent Component

hsx (system).

ASDF Systems

3.1.2 hsx/main/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/main (system).

Packages

hsx.


3.1.3 hsx/element/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/element (system).

Packages

hsx/element.

Public Interface
Internals

3.1.4 hsx/utils/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/utils (system).

Packages

hsx/utils.

Public Interface
Internals

3.1.5 hsx/dsl/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/dsl (system).

Packages

hsx/dsl.

Public Interface
Internals

3.1.6 hsx/builtin/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/builtin (system).

Packages

hsx/builtin.

Public Interface
Internals

register-builtin-tags (macro).


3.1.7 hsx/web-components/file-type.lisp

Source

hsx.asd.

Parent Component

hsx/web-components (system).

Packages

hsx/web-components.


4 Packages

Packages are listed by definition order.


4.1 hsx/utils

Source

file-type.lisp.

Use List

common-lisp.

Used By List

hsx.

Public Interface
Internals

4.2 hsx/builtin

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

register-builtin-tags (macro).


4.3 hsx/element

Source

file-type.lisp.

Use List

common-lisp.

Used By List

hsx.

Public Interface
Internals

4.4 hsx/dsl

Source

file-type.lisp.

Use List

common-lisp.

Used By List

hsx.

Public Interface
Internals

4.5 hsx/web-components

Source

file-type.lisp.

Use List

common-lisp.


4.6 hsx

Source

file-type.lisp.

Nickname

hsx/main

Use List

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Macros

Macro: <> (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: a (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: abbr (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: address (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: area (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: article (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: aside (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: audio (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: b (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: base (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: bdi (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: bdo (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: blockquote (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: body (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: br (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: button (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: canvas (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: caption (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: cite (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: code (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: col (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: colgroup (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: data (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: datalist (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: dd (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: defcomp (~name props &body body)

Define an HSX component:
- name: must begin with a tilde (~)
- props: must be declared using &key, &rest, or both
the ‘children‘ key receives the component’s child elements - body: must return a valid HSX element

Package

hsx/dsl.

Source

file-type.lisp.

Macro: deftag (name)
Package

hsx/dsl.

Source

file-type.lisp.

Macro: del (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: details (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: dfn (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: dialog (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: div (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: dl (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: dt (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: em (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: embed (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: fieldset (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: figcaption (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: figure (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Package

hsx/builtin.

Source

file-type.lisp.

Macro: form (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h1 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h2 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h3 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h4 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h5 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: h6 (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: head (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: header (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: hr (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: hsx (form)

Automatically detect html tags, registered Web Components, and user-defined HSX components. All other expressions are evaluated as regular Lisp forms.
To create HSX elements within a Lisp form, use the ‘hsx‘ macro again.

Package

hsx/dsl.

Source

file-type.lisp.

Macro: html (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: i (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: iframe (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: img (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: input (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: ins (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: kbd (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: label (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: legend (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: li (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Package

hsx/builtin.

Source

file-type.lisp.

Macro: main (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: map (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: mark (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: meta (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: meter (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: nav (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: noscript (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: object (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: ol (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: optgroup (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: option (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: output (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: p (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: param (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: picture (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: pre (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: progress (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: q (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: raw! (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: register-web-components (&rest names)
Package

hsx/dsl.

Source

file-type.lisp.

Macro: rp (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: rt (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: ruby (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: s (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: samp (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: script (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: section (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: select (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: small (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: source (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: span (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: strong (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: style (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: sub (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: summary (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: sup (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: svg (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: table (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: tbody (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: td (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: template (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: textarea (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: tfoot (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: th (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: thead (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: time (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: title (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: tr (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: track (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: u (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: ul (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: var (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: video (&body body)
Package

hsx/builtin.

Source

file-type.lisp.

Macro: wbr (&body body)
Package

hsx/builtin.

Source

file-type.lisp.


5.1.2 Ordinary functions

Function: clear-web-components ()
Package

hsx/dsl.

Source

file-type.lisp.

Function: clsx (&rest strs)

Constructing class strings conditionally.
It removes ‘nil‘ from the string list, then joins the remaining strings with spaces.

Package

hsx/utils.

Source

file-type.lisp.

Function: create-element (type props children)
Package

hsx/element.

Source

file-type.lisp.

Function: escape-html-attribute (str)
Package

hsx/utils.

Source

file-type.lisp.

Function: escape-html-text-content (str)
Package

hsx/utils.

Source

file-type.lisp.


5.1.3 Generic functions

Generic Reader: element-children (object)
Package

hsx/element.

Methods
Reader Method: element-children ((element element))

automatically generated reader method

Source

file-type.lisp.

Target Slot

children.

Generic Reader: element-props (object)
Package

hsx/element.

Methods
Reader Method: element-props ((element element))

automatically generated reader method

Source

file-type.lisp.

Target Slot

props.

Generic Reader: element-type (object)
Package

hsx/element.

Methods
Reader Method: element-type ((element element))

automatically generated reader method

Source

file-type.lisp.

Target Slot

type.

Generic Function: expand-component (element)
Package

hsx/element.

Methods
Method: expand-component ((element component))
Source

file-type.lisp.

Generic Function: render-to-string (element &key pretty)

Render an HSX element to an HTML string.

Package

hsx/element.

Source

file-type.lisp.

Methods
Method: render-to-string ((element element) &key pretty)

5.1.4 Standalone methods

Method: print-object ((element fragment) stream)
Source

file-type.lisp.

Method: print-object ((element self-closing-tag) stream)
Source

file-type.lisp.

Method: print-object ((element html-tag) stream)
Source

file-type.lisp.

Method: print-object ((element component) stream)
Source

file-type.lisp.

Method: print-object ((element tag) stream)
Source

file-type.lisp.


5.1.5 Classes

Class: component
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

element.

Direct methods
Class: element
Package

hsx/element.

Source

file-type.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: type
Package

common-lisp.

Initargs

:type

Readers

element-type.

Writers

This slot is read-only.

Slot: props
Initargs

:props

Readers

element-props.

Writers

This slot is read-only.

Slot: children
Initargs

:children

Readers

element-children.

Writers

This slot is read-only.

Class: fragment
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

tag.

Direct subclasses

raw-fragment.

Direct methods

print-object.

Class: html-tag
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

tag.

Direct methods

print-object.

Class: raw-fragment
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

fragment.

Direct methods

render-children.

Class: self-closing-tag
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

tag.

Direct methods

print-object.

Class: tag
Package

hsx/element.

Source

file-type.lisp.

Direct superclasses

element.

Direct subclasses
Direct methods

5.2 Internals


5.2.1 Special variables

Special Variable: *attribute-escape-map*
Package

hsx/utils.

Source

file-type.lisp.

Special Variable: *text-content-escape-map*
Package

hsx/utils.

Source

file-type.lisp.


5.2.2 Macros

Macro: defhsx (name element-type)
Package

hsx/dsl.

Source

file-type.lisp.

Macro: register-builtin-tags (&rest names)
Package

hsx/builtin.

Source

file-type.lisp.


5.2.3 Ordinary functions

Function: %create-element (type &rest body)
Package

hsx/dsl.

Source

file-type.lisp.

Function: detect-component (sym)
Package

hsx/dsl.

Source

file-type.lisp.

Function: detect-elements (form)
Package

hsx/dsl.

Source

file-type.lisp.

Function: escape-char (char escape-map)
Package

hsx/utils.

Source

file-type.lisp.

Function: escape-string (str escape-map)
Package

hsx/utils.

Source

file-type.lisp.

Function: external-symbol (sym package)
Package

hsx/dsl.

Source

file-type.lisp.

Function: parse-body (body)
Package

hsx/dsl.

Source

file-type.lisp.

Function: plist-p (obj)
Package

hsx/dsl.

Source

file-type.lisp.

Function: start-with-tilde-p (sym)
Package

hsx/dsl.

Source

file-type.lisp.


5.2.4 Generic functions

Generic Function: element-props-with-children (element)
Package

hsx/element.

Methods
Method: element-props-with-children ((element component))
Source

file-type.lisp.

Generic Function: render-children (element)
Package

hsx/element.

Methods
Method: render-children ((element raw-fragment))
Source

file-type.lisp.

Method: render-children ((element tag))
Source

file-type.lisp.

Generic Function: render-props (element)
Package

hsx/element.

Methods
Method: render-props ((element tag))
Source

file-type.lisp.

Generic Function: render-type (element)
Package

hsx/element.

Methods
Method: render-type ((element tag))
Source

file-type.lisp.


5.2.5 Types

Type: self-closing-tag-sym ()
Package

hsx/element.

Source

file-type.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   <  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%create-element: Private ordinary functions

<
<>: Public macros

A
a: Public macros
abbr: Public macros
address: Public macros
area: Public macros
article: Public macros
aside: Public macros
audio: Public macros

B
b: Public macros
base: Public macros
bdi: Public macros
bdo: Public macros
blockquote: Public macros
body: Public macros
br: Public macros
button: Public macros

C
canvas: Public macros
caption: Public macros
cite: Public macros
clear-web-components: Public ordinary functions
clsx: Public ordinary functions
code: Public macros
col: Public macros
colgroup: Public macros
create-element: Public ordinary functions

D
data: Public macros
datalist: Public macros
dd: Public macros
defcomp: Public macros
defhsx: Private macros
deftag: Public macros
del: Public macros
details: Public macros
detect-component: Private ordinary functions
detect-elements: Private ordinary functions
dfn: Public macros
dialog: Public macros
div: Public macros
dl: Public macros
dt: Public macros

E
element-children: Public generic functions
element-children: Public generic functions
element-props: Public generic functions
element-props: Public generic functions
element-props-with-children: Private generic functions
element-props-with-children: Private generic functions
element-type: Public generic functions
element-type: Public generic functions
em: Public macros
embed: Public macros
escape-char: Private ordinary functions
escape-html-attribute: Public ordinary functions
escape-html-text-content: Public ordinary functions
escape-string: Private ordinary functions
expand-component: Public generic functions
expand-component: Public generic functions
external-symbol: Private ordinary functions

F
fieldset: Public macros
figcaption: Public macros
figure: Public macros
footer: Public macros
form: Public macros
Function, %create-element: Private ordinary functions
Function, clear-web-components: Public ordinary functions
Function, clsx: Public ordinary functions
Function, create-element: Public ordinary functions
Function, detect-component: Private ordinary functions
Function, detect-elements: Private ordinary functions
Function, escape-char: Private ordinary functions
Function, escape-html-attribute: Public ordinary functions
Function, escape-html-text-content: Public ordinary functions
Function, escape-string: Private ordinary functions
Function, external-symbol: Private ordinary functions
Function, parse-body: Private ordinary functions
Function, plist-p: Private ordinary functions
Function, start-with-tilde-p: Private ordinary functions

G
Generic Function, element-children: Public generic functions
Generic Function, element-props: Public generic functions
Generic Function, element-props-with-children: Private generic functions
Generic Function, element-type: Public generic functions
Generic Function, expand-component: Public generic functions
Generic Function, render-children: Private generic functions
Generic Function, render-props: Private generic functions
Generic Function, render-to-string: Public generic functions
Generic Function, render-type: Private generic functions

H
h1: Public macros
h2: Public macros
h3: Public macros
h4: Public macros
h5: Public macros
h6: Public macros
head: Public macros
header: Public macros
hr: Public macros
hsx: Public macros
html: Public macros

I
i: Public macros
iframe: Public macros
img: Public macros
input: Public macros
ins: Public macros

K
kbd: Public macros

L
label: Public macros
legend: Public macros
li: Public macros
link: Public macros

M
Macro, <>: Public macros
Macro, a: Public macros
Macro, abbr: Public macros
Macro, address: Public macros
Macro, area: Public macros
Macro, article: Public macros
Macro, aside: Public macros
Macro, audio: Public macros
Macro, b: Public macros
Macro, base: Public macros
Macro, bdi: Public macros
Macro, bdo: Public macros
Macro, blockquote: Public macros
Macro, body: Public macros
Macro, br: Public macros
Macro, button: Public macros
Macro, canvas: Public macros
Macro, caption: Public macros
Macro, cite: Public macros
Macro, code: Public macros
Macro, col: Public macros
Macro, colgroup: Public macros
Macro, data: Public macros
Macro, datalist: Public macros
Macro, dd: Public macros
Macro, defcomp: Public macros
Macro, defhsx: Private macros
Macro, deftag: Public macros
Macro, del: Public macros
Macro, details: Public macros
Macro, dfn: Public macros
Macro, dialog: Public macros
Macro, div: Public macros
Macro, dl: Public macros
Macro, dt: Public macros
Macro, em: Public macros
Macro, embed: Public macros
Macro, fieldset: Public macros
Macro, figcaption: Public macros
Macro, figure: Public macros
Macro, footer: Public macros
Macro, form: Public macros
Macro, h1: Public macros
Macro, h2: Public macros
Macro, h3: Public macros
Macro, h4: Public macros
Macro, h5: Public macros
Macro, h6: Public macros
Macro, head: Public macros
Macro, header: Public macros
Macro, hr: Public macros
Macro, hsx: Public macros
Macro, html: Public macros
Macro, i: Public macros
Macro, iframe: Public macros
Macro, img: Public macros
Macro, input: Public macros
Macro, ins: Public macros
Macro, kbd: Public macros
Macro, label: Public macros
Macro, legend: Public macros
Macro, li: Public macros
Macro, link: Public macros
Macro, main: Public macros
Macro, map: Public macros
Macro, mark: Public macros
Macro, meta: Public macros
Macro, meter: Public macros
Macro, nav: Public macros
Macro, noscript: Public macros
Macro, object: Public macros
Macro, ol: Public macros
Macro, optgroup: Public macros
Macro, option: Public macros
Macro, output: Public macros
Macro, p: Public macros
Macro, param: Public macros
Macro, picture: Public macros
Macro, pre: Public macros
Macro, progress: Public macros
Macro, q: Public macros
Macro, raw!: Public macros
Macro, register-builtin-tags: Private macros
Macro, register-web-components: Public macros
Macro, rp: Public macros
Macro, rt: Public macros
Macro, ruby: Public macros
Macro, s: Public macros
Macro, samp: Public macros
Macro, script: Public macros
Macro, section: Public macros
Macro, select: Public macros
Macro, small: Public macros
Macro, source: Public macros
Macro, span: Public macros
Macro, strong: Public macros
Macro, style: Public macros
Macro, sub: Public macros
Macro, summary: Public macros
Macro, sup: Public macros
Macro, svg: Public macros
Macro, table: Public macros
Macro, tbody: Public macros
Macro, td: Public macros
Macro, template: Public macros
Macro, textarea: Public macros
Macro, tfoot: Public macros
Macro, th: Public macros
Macro, thead: Public macros
Macro, time: Public macros
Macro, title: Public macros
Macro, tr: Public macros
Macro, track: Public macros
Macro, u: Public macros
Macro, ul: Public macros
Macro, var: Public macros
Macro, video: Public macros
Macro, wbr: Public macros
main: Public macros
map: Public macros
mark: Public macros
meta: Public macros
meter: Public macros
Method, element-children: Public generic functions
Method, element-props: Public generic functions
Method, element-props-with-children: Private generic functions
Method, element-type: Public generic functions
Method, expand-component: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, render-children: Private generic functions
Method, render-children: Private generic functions
Method, render-props: Private generic functions
Method, render-to-string: Public generic functions
Method, render-type: Private generic functions

N
nav: Public macros
noscript: Public macros

O
object: Public macros
ol: Public macros
optgroup: Public macros
option: Public macros
output: Public macros

P
p: Public macros
param: Public macros
parse-body: Private ordinary functions
picture: Public macros
plist-p: Private ordinary functions
pre: Public macros
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
progress: Public macros

Q
q: Public macros

R
raw!: Public macros
register-builtin-tags: Private macros
register-web-components: Public macros
render-children: Private generic functions
render-children: Private generic functions
render-children: Private generic functions
render-props: Private generic functions
render-props: Private generic functions
render-to-string: Public generic functions
render-to-string: Public generic functions
render-type: Private generic functions
render-type: Private generic functions
rp: Public macros
rt: Public macros
ruby: Public macros

S
s: Public macros
samp: Public macros
script: Public macros
section: Public macros
select: Public macros
small: Public macros
source: Public macros
span: Public macros
start-with-tilde-p: Private ordinary functions
strong: Public macros
style: Public macros
sub: Public macros
summary: Public macros
sup: Public macros
svg: Public macros

T
table: Public macros
tbody: Public macros
td: Public macros
template: Public macros
textarea: Public macros
tfoot: Public macros
th: Public macros
thead: Public macros
time: Public macros
title: Public macros
tr: Public macros
track: Public macros

U
u: Public macros
ul: Public macros

V
var: Public macros
video: Public macros

W
wbr: Public macros


A.4 Data types

Jump to:   C   E   F   H   P   R   S   T  
Index Entry  Section

C
Class, component: Public classes
Class, element: Public classes
Class, fragment: Public classes
Class, html-tag: Public classes
Class, raw-fragment: Public classes
Class, self-closing-tag: Public classes
Class, tag: Public classes
component: Public classes

E
element: Public classes

F
File, file-type.lisp: The hsx/main/file-type․lisp file
File, file-type.lisp: The hsx/element/file-type․lisp file
File, file-type.lisp: The hsx/utils/file-type․lisp file
File, file-type.lisp: The hsx/dsl/file-type․lisp file
File, file-type.lisp: The hsx/builtin/file-type․lisp file
File, file-type.lisp: The hsx/web-components/file-type․lisp file
File, hsx.asd: The hsx/hsx․asd file
file-type.lisp: The hsx/main/file-type․lisp file
file-type.lisp: The hsx/element/file-type․lisp file
file-type.lisp: The hsx/utils/file-type․lisp file
file-type.lisp: The hsx/dsl/file-type․lisp file
file-type.lisp: The hsx/builtin/file-type․lisp file
file-type.lisp: The hsx/web-components/file-type․lisp file
fragment: Public classes

H
hsx: The hsx system
hsx: The hsx package
hsx.asd: The hsx/hsx․asd file
hsx/builtin: The hsx/builtin system
hsx/builtin: The hsx/builtin package
hsx/dsl: The hsx/dsl system
hsx/dsl: The hsx/dsl package
hsx/element: The hsx/element system
hsx/element: The hsx/element package
hsx/main: The hsx/main system
hsx/utils: The hsx/utils system
hsx/utils: The hsx/utils package
hsx/web-components: The hsx/web-components system
hsx/web-components: The hsx/web-components package
html-tag: Public classes

P
Package, hsx: The hsx package
Package, hsx/builtin: The hsx/builtin package
Package, hsx/dsl: The hsx/dsl package
Package, hsx/element: The hsx/element package
Package, hsx/utils: The hsx/utils package
Package, hsx/web-components: The hsx/web-components package

R
raw-fragment: Public classes

S
self-closing-tag: Public classes
self-closing-tag-sym: Private types
System, hsx: The hsx system
System, hsx/builtin: The hsx/builtin system
System, hsx/dsl: The hsx/dsl system
System, hsx/element: The hsx/element system
System, hsx/main: The hsx/main system
System, hsx/utils: The hsx/utils system
System, hsx/web-components: The hsx/web-components system

T
tag: Public classes
Type, self-closing-tag-sym: Private types