Pages
Each page is a Rust module exporting pub fn page(FlowRequest) -> View, discovered from your pages directory.
Page module
use resuma::prelude::*;
pub fn page(_req: FlowRequest) -> View {
view! {
<main>
<h1>"About"</h1>
<p>"Rendered from about.rs"</p>
</main>
}
}auto_pages
FlowApp scans the pages directory at startup and dispatches via PagesRegistry:
FlowApp::new()
.auto_pages("src/pages", PagesRegistry)
.serve(FlowServeOptions::default())
.awaitPagesRegistry
Generated by resuma routes --generate. Maps module names like docs::getting_started to page(req) functions.
// _registry.rs (generated)
impl FlowPageRegistry for PagesRegistry {
fn render(&self, module: &str, req: FlowRequest) -> Option<View> {
match module {
"index" => Some(super::index::page(req)),
"about" => Some(super::about::page(req)),
_ => None,
}
}
}Index routes
A directory with index.rs maps to the directory URL — blog/index.rs becomes /blog.