Crate sailfish

source ·
Expand description

Sailfish is a simple, small, and extremely fast template engine for Rust. Before reading this reference, I recommend reading User guide.

This crate contains utilities for rendering sailfish template. If you want to use sailfish templates, import sailfish-macros crate and use derive macro #[derive(TemplateOnce)] or #[derive(Template)].

In most cases you don’t need to care about the runtime module in this crate, but if you want to render custom data inside templates, you must implement runtime::Render trait for that type.

use sailfish::TemplateOnce;

#[derive(TemplateOnce)]
#[template(path = "hello.stpl")]
struct HelloTemplate {
    messages: Vec<String>
}

fn main() {
    let ctx = HelloTemplate {
        messages: vec!["foo".to_string(), "bar".to_string()]
    };

    println!("{}", ctx.render_once().unwrap());
}

Re-exports

Modules

Traits

Derive Macros