Early stage markup for iced using pest
Note
Currently under heavy development, and will change frequently.
There is a viewer application in the snowcap-viewer repository.
Here's an example of how the test.iced
file renders.
![Screenshot 2024-09-27 at 7 56 55 PM](https://private-user-images.githubusercontent.com/111157855/371720991-42a627a0-1329-4b74-93ff-bd0c9c3143b1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODE0ODksIm5iZiI6MTczOTU4MTE4OSwicGF0aCI6Ii8xMTExNTc4NTUvMzcxNzIwOTkxLTQyYTYyN2EwLTEzMjktNGI3NC05M2ZmLWJkMGM5YzMxNDNiMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMDU5NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NTYzMTMyODU3YjI4MTA3MmRhMmMzYzFiN2FjNDM5NTJiN2M3Y2RlMTUyZGI5NzhiNWJjMjE5OGU3ZmU1OTkxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.y3A6SItM8y7ZdoraVZuoIxbUYVbZwFOPj6CAbKONGVU)
The grammar is specified in snowcap.pest and an example layout is in test.iced.
Iced Element | Snowcap Syntax |
---|---|
Container | {<attr:val,...> ...} |
Row | -<attr:val,...>[ element, ...] |
Column | |<attr:val,...>[ element, ...] |
Stack | ^<attr:val,...>[ element, ...] |
Rule (horiz) | rule-horizontal<height:2>() |
Rule (vert) | rule-vertical<width:2>() |
Text | text<attr:val,...>("Content") |
Button | button<attr:val,...>(element) |
Toggler | toggler<attr:val,...>(element) |
QRCode | qrcode<cell-size:10>(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
{<width:fill, align-x:center>
|<align:center>[
text<size:19>("Hello"),
text<size:24>("Snowcap")
]
}
![Screenshot 2024-09-25 at 8 36 26 PM](https://private-user-images.githubusercontent.com/111157855/370976253-db014468-8e9a-46c7-b7ee-d8e418077ce6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODE0ODksIm5iZiI6MTczOTU4MTE4OSwicGF0aCI6Ii8xMTExNTc4NTUvMzcwOTc2MjUzLWRiMDE0NDY4LThlOWEtNDZjNy1iN2VlLWQ4ZTQxODA3N2NlNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMDU5NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZGZmM2YyMTRjYjY3MGU4NzVmNTU3MDJjNGM2MDI5ZDJiYzY3ZThiNDZhZjc0ZTU1MDUyNGU4MzlhNGJkZDgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.oLJPfU4reRMHvShmEa-CgjScFkZwCsdUFf2wK63Tgqo)