# Snowcap
Early stage markup for [iced](https://iced.rs) using [pest](https://pest.rs)
There is a simple viewer in bin/snowcap-viewer.rs with hot reloading.
To run it, use `cargo run samples/test.iced` from the root of the project.
Here's an example of how the `test.iced` file renders.
## Grammar
The grammar is specified in [snowcap.pest](src/snowcap.pest) and an example layout is in [test.iced](samples/test.iced).
|Iced Element | Snowcap Syntax |
|---------------|---------------------|
| Container | `{ ...}`|
| Row | `-[ element, ...]`
| Column | `\|[ element, ...]`
| Stack | `^[ element, ...]`
| Rule (horiz) | `rule-horizontal()`
| Rule (vert) | `rule-vertical()`
| Text | `text("Content")`
| Button | `button(element)`
| Toggler | `toggler(element)`
| QRCode | `qrcode(qr!("https://iced.rs"))`
| Markdown | `markdown(file!("README.md"))`
| Image | `image(file!("samples/ferris.png"))`
| Svg | `svg(file!("samples/coder.svg"))`
For example, creating a container with a column would look like
```
{
|[
text("Hello"),
text("Snowcap")
]
}
```