用Rust编写的快速CSS内联

css-inline的Python项目详细描述


BuildVersionPython versionsLicense

在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伺服项目(html5everrust-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.0Python 3.8.6和32GB RAM进行了测试。在

Python支持

css_inline支持python3.5、3.6、3.7、3.8和3.9。在

许可证

此项目中的代码是在MIT license下授权的。 通过向css_inline捐款,您同意您的捐款 将获得麻省理工学院的许可证。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中的arraylist二维字符串数组   java Recyclerview继续滚动打开位置   java如何将一个EJB3.1注入另一个EJB   Android Studio(Java的)。setText方法现在使用混合参数   java查找未排序数组的顺序   在java arraylist中查找重复对象   Java支持动态方法调用吗?   java如何在onError()/取消订阅之前一直观察对象   java如何在代码中设置毕加索的背景图像   java在Spring中通过更改环境名称在属性文件之间动态切换   通过使用ldap java登录获取用户和人员列表   用户输入到GUI的java值没有保存?   java如何在创建和显示布局时设置视图的焦点?   Java小程序在图形中显示白色方块。php文件   具有独立共享变量的java同步方法   guava java:缓存数据库表,刷新1小时   Java中颜色计算器的帮助   使用socket从Java向C发送int   java使用单个JAXB注释类对复杂类型进行解组   java Android JNI错误:NoSuchMethodError:无非静态方法