用Rust编写的快速CSS内联
css-inline的Python项目详细描述
在Rust中实现的Python的快速CSS内联。在
特点:
- 内联后删除style标记
- 解析外部样式表(包括本地文件)
- 控制是否应处理style标记
- 额外的CSS到内联
安装
要通过pip安装css_inline,请运行以下命令:
pip install css_inline
使用
要在HTML文档中内联CSS,请执行以下操作:
^{pr2}$如果要内联许多HTML文档,可以利用inline_many并行处理输入。在
importcss_inlinecss_inline.inline_many(["...","..."])
对于自定义选项,请使用CSSInlinerclass:
importcss_inlineinliner=css_inline.CSSInliner(remove_style_tags=True)inliner.inline("...")
性能
由于使用了来自Mozilla伺服项目(html5ever,rust-cssparser和其他)的高效工具 库具有良好的性能特点。与其他Python项目相比,它比最近的竞争对手快7-15倍。在
为了在上面的Usage部分的html文档中内联CSS,我们在基准测试中有以下细分:
- css_inline 0.6.0-23.01美元
- premailer 3.7.0-340.89美元(x14.81)
- inlinestyler 0.2.4-2.44毫秒(x106.35)
- pynliner 0.8.0-2.78毫秒(x121.04)
对于更真实的电子邮件:
- css_inline 0.6.0-483.3美元
- premailer 3.7.0-3.38毫秒(x7)
- inlinestyler 0.2.4-64.41毫秒(x133.28)
- pynliner 0.8.0-93.11毫秒(x192.65)
您可以在benches/bench.py文件中查看基准测试的代码。 以上结果在i8700K上使用稳定的rustc 1.47.0、Python 3.8.6和32GB RAM进行了测试。在
Python支持
css_inline支持python3.5、3.6、3.7、3.8和3.9。在
许可证
此项目中的代码是在MIT license下授权的。 通过向css_inline捐款,您同意您的捐款 将获得麻省理工学院的许可证。在
- 项目
标签: