Expand description
§Resuma
The first Rust web framework with SSR + Resumability + Islands + Server Actions + a friendly JS bridge — all in one crate.
Internal layout: core, ssr, server, router, flow, and optional cli.
Users typically depend on this crate only; resuma-macros is a separate proc-macro crate.
Re-exports§
pub use crate::core::combine_js;pub use crate::core::no_serialize;pub use crate::core::portal;pub use crate::core::portal;pub use crate::core::provide_context;pub use crate::core::provide_theme;pub use crate::core::push_slots;pub use crate::core::resolve_slot;pub use crate::core::stream_chunk;pub use crate::core::stream_slot;pub use crate::core::theme_css_vars;pub use crate::core::use_computed;pub use crate::core::use_computed_with_js;pub use crate::core::use_context;pub use crate::core::use_debounce;pub use crate::core::use_effect;pub use crate::core::use_signal;pub use crate::core::use_store;pub use crate::core::use_task;pub use crate::core::use_theme;pub use crate::core::use_visible_task;pub use crate::core::visible_task_js;pub use crate::core::with_default_slot;pub use crate::core::with_view_transition;pub use crate::core::Child;pub use crate::core::Component;pub use crate::core::Computed;pub use crate::core::ContextId;pub use crate::core::Effect;pub use crate::core::FlowRequest;pub use crate::core::IntoView;pub use crate::core::NoSerialize;pub use crate::core::ReadSignal;pub use crate::core::RenderContext;pub use crate::core::RenderMode;pub use crate::core::Result;pub use crate::core::ResumaError;pub use crate::core::Signal;pub use crate::core::SlotGuard;pub use crate::core::SlottedChild;pub use crate::core::Store;pub use crate::core::Theme;pub use crate::core::View;pub use crate::core::WriteSignal;pub use crate::server::configure_security;pub use crate::server::register_server_action;pub use crate::server::set_action_middleware;pub use crate::server::ResumaApp;pub use crate::server::SecurityConfig;pub use crate::server::ServeOptions;pub use crate::server::CSRF_FIELD;pub use crate::server::CSRF_HEADER;pub use crate::ssr::render_to_stream;pub use crate::ssr::render_to_string;pub use crate::ssr::render_view;pub use crate::ssr::PageOptions;pub use crate::flow::apply_layouts;pub use crate::flow::current_request;pub use crate::flow::discover_pages;pub use crate::flow::encode_submit_result;pub use crate::flow::error_page;pub use crate::flow::form;pub use crate::flow::form;pub use crate::flow::not_found_page;pub use crate::flow::register_layout;pub use crate::flow::register_loader;pub use crate::flow::register_loader_cache;pub use crate::flow::register_middleware;pub use crate::flow::register_stream_chunk;pub use crate::flow::register_stream_loader;pub use crate::flow::register_submit;pub use crate::flow::try_use_load;pub use crate::flow::try_use_load_value;pub use crate::flow::use_load;pub use crate::flow::with_request;pub use crate::flow::DiscoveredPage;pub use crate::flow::FlowApp;pub use crate::flow::FlowError;pub use crate::flow::FlowPageRegistry;pub use crate::flow::FlowPwaConfig;pub use crate::flow::FlowServeOptions;pub use crate::flow::LoadValue;pub use crate::flow::LoaderError;pub use crate::flow::SubmitError;pub use crate::flow::SubmitValue;
Modules§
- cli
- Resuma developer CLI —
resuma new,resuma dev,resuma build,resuma routes. - core
- Resuma Core
- flow
- prelude
- Glob-friendly re-exports.
- router
- File-based page discovery for Resuma Flow.
- server
- Resuma HTTP server.
- ssr
- Server-Side Rendering for Resuma.
Macros§
- computed
computed!/use_computed!— client-replayable derived signal (rs2js-translated).- debounce
debounce!— debounced client reaction to a signal.- effect
effect!([signals…], move || { … })— client-replayable side effect (rs2js).- js
js!— raw JavaScript escape hatch for event handlers.- view
view!— JSX-like template macro.
Functions§
- run
- CLI entry point (
cargo install resuma).
Attribute Macros§
- component
#[component]— registers a function as a Resuma component.- island
#[island]— marks a component as an interactive island.- layout
#[layout]— Resuma Flow layout wrapper.- load
#[load]— Resuma Flow server data loader.- middleware
#[middleware]— Resuma Flow request middleware.- server
#[server]— exposes an async fn as a server action.- submit
#[submit]— Resuma Flow form submission handler.