2 releases
0.1.0 | Jan 6, 2023 |
---|---|
0.1.0-alpha | Dec 31, 2022 |
#140 in #frontend
Used in 3 crates
(2 directly)
23KB
439 lines
mogwai-macros
Provides procedural macros builder!
and view!
, which allow the use of RSX
to declare mogwai views.
Example - this RSX:
view!(
<footer class="info">
<p>"Double click to edit a todo"</p>
<p>
"Written by "
<a href="https://github.com/schell">"Schell Scivally"</a>
</p>
<p>
"Part of "
<a href="http://todomvc.com">"TodoMVC"</a>
</p>
</footer>
).run()
will roughly generate this rust code:
(mogwai::gizmo::dom::View::element("footer") as View<web_sys::HtmlElement>)
.attribute("class", "info")
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Double click to edit a todo"),
)
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Written by ")
.with(
(mogwai::gizmo::dom::View::element("a")
as View<web_sys::HtmlElement>)
.attribute("href", "https://github.com/schell")
.with("Schell Scivally"),
),
)
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Part of ")
.with(
(mogwai::gizmo::dom::View::element("a")
as View<web_sys::HtmlElement>)
.attribute("href", "http://todomvc.com")
.with("TodoMVC"),
),
)
.run()
Dependencies
~1.5MB
~38K SLoC