dioxus_ssr/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
3#![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
4
5mod cache;
6pub mod config;
7pub mod renderer;
8pub mod template;
9
10use dioxus_core::{Element, VirtualDom};
11
12pub use crate::renderer::Renderer;
13
14/// A convenience function to render an `rsx!` call to a string
15///
16/// For advanced rendering, create a new `SsrRender`.
17pub fn render_element(element: Element) -> String {
18    Renderer::new().render_element(element)
19}
20
21/// A convenience function to render an existing VirtualDom to a string
22///
23/// We generally recommend creating a new `Renderer` to take advantage of template caching.
24pub fn render(dom: &VirtualDom) -> String {
25    Renderer::new().render(dom)
26}
27
28/// A convenience function to pre-render an existing VirtualDom to a string
29///
30/// We generally recommend creating a new `Renderer` to take advantage of template caching.
31pub fn pre_render(dom: &VirtualDom) -> String {
32    let mut renderer = Renderer::new();
33    renderer.pre_render = true;
34    renderer.render(dom)
35}