Skip to content

Hacky but simple minification support for sailfish, using html-minifier by default

License

Notifications You must be signed in to change notification settings

PaulDotSH/sailfish-minify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sailfish-minify

Hacky but simple minification support for sailfish, using html-minifier by default

IMPORTANT!

By default, sailfish-minify DOES also minify its components, however if you want to disable this behavior you can compile without "minifiy-components". Also, the components are minified with the "parent" template options, this behavior is however untested when there are multiple parents using the same component but using different minifier options.

Example

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

Output

Unminified size: 2238 chars
Minified size: 23 chars

About

Hacky but simple minification support for sailfish, using html-minifier by default

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages