#minification #html #minify #sailfish

sailfish-minify

为 sailfish 提供的简单而实用的压缩支持,默认使用 html-minifier

3 个不稳定版本

0.2.2 2024 年 6 月 15 日
0.2.1 2024 年 6 月 15 日
0.2.0 2024 年 6 月 13 日
0.1.0 2024 年 6 月 11 日

#223 in 模板引擎

MIT 许可证

12KB
238 代码行

sailfish-minify

为 sailfish 提供的简单而实用的压缩支持,默认使用 html-minifier

重要!

默认情况下,sailfish-minify 也会压缩其组件,但是如果您想禁用此行为,可以不使用 "minifiy-components" 进行编译。此外,组件使用 "父" 模板选项进行压缩,但是当有多个父模板使用相同组件但使用不同的压缩选项时,此行为尚未经过测试。

示例

use sailfish::TemplateOnce;

#[derive(Debug, sailfish_minify::TemplateOnce)]
#[templ(path = "test.stpl")] // Notice the use of templ instead of template
// #[min_with(HTMLMinifier)] // Default is HTMLMinifier anyway
// #[min_with(Custom(html-minifier --collapse-whitespace))] // You can even use custom commands
struct MinifiedTestTemplate<'a> {
    s: &'a str
}

#[derive(Debug, TemplateOnce)]
#[template(path = "test.stpl")]
struct TestTemplate<'a> {
    s: &'a str
}

fn main() {
    println!("Unminified size: {} chars", TestTemplate { s: "test" }.render_once().unwrap().len());
    println!("Minified size: {} chars", MinifiedTestTemplate { s: "test" }.render_once().unwrap().len());
}

输出

Unminified size: 2238 chars
Minified size: 23 chars

依赖项

~3–11MB
~114K SLoC