Pages
Pages are structured, interactive documents optionally served along side the client application. When serving non-API content over HTTP, the domain's pages are converted to HTML and JavaScript.
@Page Format {
Name :sequence
Program :Container
}
@Page Content {
Name :sequence
Text :sequence
}
Page {
Name :sequence
Path :sequence
Format :natural
Content :list{Content}
}
Format
Structure
Page structure is composed using a custom configuration of Suzu.
Structure primarily consists of Containers, which may be Columns, Rows, or Blocks.
Container formats are based on HTML flex elements.
document = Column.{
Content:[
Row.{
Id: "header"
Content:[
Row.{
Id: "title"
Content:["Title"]
}
Row.{
Id: "hotbar"
Content: |=|Button {
|Text |Action |
|"⚙" | |
}
}
]
}
Row.{
Content:[
Column.{
Id: "nav"
Content: |=|Button {
|Text |Action |
|"" | |
}
}
Column.{
Id: "main"
Content: Main
}
]
}
]
}
Content
Page content is formatted with GitHub Flavored Markdown.
Components
Components are built-in interface elements with special formatting and behavior.
- Button
- Text Box
- Check Box
- Radio Button
- Slider
Actions
Actions are behaviors activated through interaction with components.
- Navigation
- Server Query
- Update Style
- Update Structure