#css #web-apps #style-sheet

const-css-minify

将压缩的 CSS 文件作为内联常量包含在你的高性能编译型 Web 应用程序中

9 个版本

0.1.8 2024 年 5 月 16 日
0.1.7 2024 年 5 月 16 日

#1081 in HTTP 服务器

MIT 许可证

32KB
533

const-css-minify

github crates.io docs.rs

将压缩的 CSS 文件作为内联常量包含在你的高性能编译型 Web 应用程序中。

use const_css_minify::minify;

const CSS: &str = minify!("./path/to/style.css");

const_css_minify 如果你的 CSS 与二进制文件不同步更改,则不是一个好的解决方案,因为你将无法更改 CSS 而不重新编译应用程序。

const_css_minify 将:

  • 删除不需要的空白和换行符
  • 删除注释
  • 删除每个声明块中不需要的尾随分号
  • 有选择地压缩通过十六进制文字值或通过 rgb()rgba()hsl()hsla() 函数(无论是带有逗号的旧语法还是不带逗号的新语法)指定的颜色,而不改变颜色。例如,#ffffff 将被替换为 #fffhsl(180 50 50)#40bfbfrgba(20%, 40%, 60%, 0.8)#369c 等。 const-css-minify 将不会尝试计算嵌套/复杂/相对的 rgb 表达式(这些将未经修改地传递给最终用户浏览器自行解析),但许多简单/文字表达式将被解析和压缩。
  • 静默忽略源自您的源文件*的 CSS 语法错误,并在此过程中可能通过改变错误操作符周围的空白位置引发渲染器略微不同的故障模式

const_css_minify 不会:

  • 使用 gzbrdeflate 压缩你的 CSS。
  • 更改语义有效的 CSS 的语义意义。
  • 除了完全相同的文字颜色以外的任何替换。
  • 警告您无效的 CSS* - 它并非真正解析 CSS,而是扫描并删除它识别为不必要的字符。

const_css_minify 是一种轻量级解决方案 - 当前版本的 const_css_minify 除了 Rust 内置的 std 和 proc_macro 库外,没有其他依赖。

本项目遵循 MIT 许可协议。

无运行时依赖。