A versatile web framework and library for building client-side and server-side web applications
MIT License
Bot releases are hidden (Show)
sauron-node-macro
performance by resolving the values of namespace
and self_closing
tags at compile time, rather than at runtime.sauron-markdown
to easily hook user define functions such as code-highlighting.Window::scroll_to_top
to return it as wrapped in Cmd
to be used after an update
call in a Component
popstate
to events
module.sauron::jss!
macro to create the css without the use of indents and new lines by default.
sauron::jss_pretty!
variant to use nice indents and space on the generated css.Http
api. It is now easier to receive and deserialize text response.sauron-markdown
. Developers can hook code to create a custom element out of code blocks in markdown parser.Program::new_replace_mount
to Program::replace_mount
.
Program::new_append_to_mount
to Program::append_to_mount
.Program
is not optional anymore when passed to functions in modules such as apply_patches
, dom_updater
and created_node
safe_html
to Text
node, this indicated whether to render as text node or as innerHTML
of its parent element.
ammonia
crate is used to sanitize the html text.apply_patches
, dom_updater
and created_node
.log_measurement
to Cmd
which tells the Program
wheter to log and call measurements.sauron-parse
crate lookup on tag_namespace
and self_closing_tags
by putting it in a once_cell Lazy HashSethtml_element_sc
to html_element_self_closing
.type_
,etc and attributes which are also rust identifier to use the raw r#ident.
type
for
async
.init
function in Component which allows apps execute Cmd Task such as fetching data at the start of the app onclick(|event: Event| {
if let Event::MouseEvent(mouse) = event{
sauron::log!("clicked at ({},{})", mouse.x(), mouse.y())
}else{
panic!("This should not happen")
}
})
Now:
onclick(|mouse: MouseEvent| {
sauron::log!("clicked at ({},{})", mouse.x(), mouse.y())
})
styles
which allows users to write style properties easily.styles_flag
which allows users to write even more granular style properties.Callback<Event,MSG>
as the value of node.events.map
functionality which lets user embed subcomponents view into the parent component by mapping the callbacksstyle
, which conflicts with thestyle
attributes.span
, label
which conflicts with thespan
and label
html tags.styles
which allows users to write style properties easily.styles_flag
which allows users to write even more granular style properties.Callback<Event,MSG>
as the value of node.events.map
functionality which lets user embed subcomponents view into the parent component by mapping the callbacksstyle
, which conflicts with thestyle
attributes.span
, label
which conflicts with thespan
and label
html tags.