将外部css内联到html元素中。
inlinestyler的Python项目详细描述
Version: | 0.2.4 |
---|---|
Download: | http://pypi.python.org/pypi/inlinestyler/ |
Source: | http://github.com/dlanger/inlinestyler/ |
Keywords: | inline, HTML, CSS, email, preflight |
inlinestyler
是一种将css本地内联到html电子邮件中的简单方法。
html电子邮件的样式是一个black art。css可以工作,但是只有当它被放置 在单个元素上内联(然后是事件,并不总是如此)-这使得 开发令人沮丧,迭代缓慢。
一般的解决方案是使用一个内联服务,它接受 放置在外部的css,并重写它,以便将所有css应用于 单个元素。这些服务中使用最广泛的 可以看出,给竞选班长权力的是Premailer。太棒了 服务,幕后的人花了很多精力来更新它 最新的发现是什么有用什么不有用。
inlinestyler
获取(大多数)premailer的功能,并使其
本地可用,无需调用远程服务即可访问。
要查看inline-styler
可以做什么,请查看这个demo。
历史记录
Dave Cranwell编写了最初的inline-styler单应用django项目。
inlinestyler
是将该项目重构为可使用的独立包
在Django外面。
要求
inlinestyler
需要以下程序包才能运行:
- cssutils
- lxml
它还需要一个css_complaiance.csv文件,该文件指示 各种电子邮件客户端与某些css功能的兼容性。这个 包含在包中,但可以从 Campaign Monitor的电子表格。
用法
from inlinestyler.utils import inline_css message_inline_css = inline_css(message_external_css)
message_external_css必须是包含要内联的消息的字符串, 在html中显示的css如下:
- 绝对链接<link rel="stylesheet"href="http://mysite.com/styles.css" />
- 在<head>中的<style>块,不使用@import。
代码还将计算消息与 各种客户机(使用css_compliance.csv文件),但这个数字不是 但还是暴露了。
贡献
所有的开发都发生在github:http://github.com/dlanger/inlinestyler。
开始吧:
- 在某处复制此回购协议
- make init以安装正确的依赖项
- make test运行测试套件
捐款总是非常受欢迎的。如果你发现少了什么,就加上 给我一个请求。
note:ubuntu 12.04(和其他一些发行版)包括libxsltversion 1.1.26,它将现在为空的<head>标记更改为<head/>- 不是有效的HTML 5。查看用于生成的libxslt版本 您的libxml,检查make init的输出并查找 看起来像Using build configuration of libxslt 1.1.XX;如果 也就是说26,预期会有一些测试失败(此时,您 可以依靠TravisCI为您运行测试)。
您也可以从源安装自己的libxslt版本,但是 你可能会过得很不愉快。
许可证
此发行版是根据New BSD License授权的。请看 LICENSE文件,获取许可证文本的完整副本。
据我所知,dave cranwellreleased是潜在的inline-styler
项目进入公共领域:
I’m […] releasing it to the public after many requests for the source.