1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use minify_html::{minify, Cfg};
use crate::{
core::{fs::Html, IntoInner},
};
pub struct HtmlMinifier;
impl HtmlMinifier {
pub fn minify(content: Html) -> Html {
let content = content.into_inner();
let mut cfg = Cfg::new();
cfg.minify_js = true;
cfg.minify_css = true;
let minified = minify(content.as_bytes(), &cfg);
Html::new(&String::from_utf8(minified).unwrap())
}
}
#[cfg(test)]
mod test {
use crate::core::{fs::Html, IntoInner};
use super::HtmlMinifier;
#[test]
pub fn check_minfiy() {
let foo_html = Html::new(
r#"
<p >wow< /p>
<!-- Test -->
"#,
);
let minify = HtmlMinifier::minify(foo_html);
assert_eq!(minify.into_inner(), "<p>wow< /p> ")
}
}