[][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
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());
}

Modules

runtime

Sailfish runtime

Enums

RenderError

The error type which is returned from template function

Traits

Template

Work in Progress

TemplateOnce

Template that can be rendered with consuming itself.

Type Definitions

RenderResult

Result type returned from TemplateOnce::render_once method

Derive Macros

TemplateOncederive