将外部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

警告清空器

此项目相对未维护。我将继续做一些简单的错误修复 (欢迎使用带有测试的补丁),但我不会添加功能或制作 新的css属性可以工作。

如果这不符合您的需要,请查看premailer project

历史记录

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

开始吧:

  1. 在某处复制此回购协议
  2. make init以安装正确的依赖项
  3. 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.

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

推荐PyPI第三方库


热门话题
java如何使用DBFlow进行迁移?   java无法从socket读取数据   java在JButton上使用鼠标运动监听器?   元素的java ArrayList链接和get IndexOutOfBoundsException   javascript如何在Java脚本中从ajax调用解析JSON对象   从数据库中获取信息并将其写入JTable。错误:java。lang.IndexOutOfBoundsException:索引:2,大小:2   spring如何使用Java SpringBoot在FCM推送通知中向IOS发送图像通知   java jsoup:解析某个标记的数据,该标记恰好位于某个特定标记之后   java没有HashMap的等式依赖于EntrySet。钥匙套?   未按预期评估java Maven属性(osmavenplugin)   类Java向ArrayList添加了用户输入,需要用另一个ArrayList中的变量分隔   JavaJSF丰富:每行呈现的数据列表?   集合Java 8按属性区分   在Java中,是否可以(静态)导入构造函数或局部变量?   安卓在ubuntu 10上安装java时出错64位   java是否应该hashCode()只使用equals()中使用的不可变字段的子集?   java如何创建ConcurrentMultiMap