fluskama

an askama wrapper for the fluffer gemini server framework

1 unstable release

0.1.2 Sep 17, 2024
0.1.1 Sep 17, 2024
0.1.0 Sep 17, 2024

#193 in Template engine

Download history 328/week @ 2024-09-13 60/week @ 2024-09-20 24/week @ 2024-09-27 7/week @ 2024-10-04

122 downloads per month

LGPL-3.0-or-later and GPL-3.0-only

18KB

fluskama

docs.rs Crates.io Total Downloads

an askama wrapper for the fluffer gemini server framework. it eases serving gemini pages written in askama by creating a wrapper for askama's template type.

contributing

send patches to the mailing list. prefix patches with "[PATCH fluskama]".

see the guide to git send-email if this is your first time using sourcehut.

license

fluskama is licensed under the gnu lesser general public license, version 3 or later. refer to the license for details


lib.rs:

fluskama

an askama wrapper for the fluffer gemini server framework. it eases serving gemini pages written in askama by creating a wrapper for askama's template type.

wrapping a template

as previously mentioned, fluskama works as a wrapper for any askama templates. in order to wrap a template, we can call FluffTemplate::from()

use fluskama::FluffTemplate;
use askama::Template;

#[derive(Template)]
#[template(path = "page.gmi", escape = "txt")]
struct Page {
    name: String,
    age: u8,
}

async fn page() -> FluffTemplate<Page> {
    let template = Page {
        name: String::from("John Doe"),
        age: 21
    };

    FluffTemplate::from(template)
}

Dependencies

~9–20MB
~285K SLoC