[][src]Crate sailfish

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.

This example is not tested
#[macro_use]
extern crate sailfish_macros;

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

pub use runtime::RenderError;
pub use runtime::RenderResult;

Modules

runtime

Sailfish runtime

Traits

Template

Work in Progress

TemplateOnce

Template that can be rendered with consuming itself.