13 个不稳定版本 (4 个重大更改)
新增 0.5.2 | 2024 年 8 月 17 日 |
---|---|
0.5.1 | 2024 年 8 月 17 日 |
0.4.2 | 2024 年 8 月 17 日 |
0.3.1 | 2022 年 11 月 22 日 |
0.1.1 | 2021 年 1 月 23 日 |
#224 in 解析器实现
2,594 每月下载量
用于 24 个 crate(直接使用 6 个)
110KB
3K SLoC
CSS 压缩
基于 nom
的 CSS 压缩库。该库解析 CSS 输入,压缩它并对其应用一些基于级别的优化。
use css_minify::optimizations::{Minifier, Level};
fn main() {
assert_eq!(
Minifier::default().minify(
r#"
#some_id, input {
padding: 5px 3px; /* Mega comment */
color: white;
}
/* this is are test id */
#some_id_2, .class {
padding: 5px 4px; /* Mega comment */
Color: rgb(255, 255, 255);
}
"#,
Level::Three
),
Ok("#some_id,input{padding:5px 3px;color:white}#some_id_2,.class{padding:5px 4px;color:#fff}".into())
)
}
CSS 压缩器
Web 版本也提供 https://css-minify.panfilov.tech/
css-minify 库的 CLI 包装器。
css-minifier 0.1
USAGE:
css-minifier [OPTIONS] --input <input>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-i, --input <input> css which will be minified
-l, --level <level> Optimization levels:
0 - Without optimizations
1 - Remove whitespaces, replace `0.` to `.` and others non
dangerous optimizations
2 - Level One + shortcuts (margins, paddings, backgrounds and etc).
In mostly cases it's non dangerous optimizations, but be careful
3 - Level Two + merge @media and css blocks with equal
screen/selectors. It is a danger optimizations, because ordering of
your css code may be changed.
[default: 1]
-o, --output <output> output to optimized variant
示例
css-minifier -i "~/test.css" -o "~/test.min.css" -l 3
依赖项
~1.9–2.8MB
~53K SLoC