【发布时间】:2014-03-22 18:36:40
【问题描述】:
我正在编写时事通讯,完成后我想内联所有 css 代码。 有一些在线工具可以做到这一点,例如:
但我想在middleman 内完成它并准备好发送我的时事通讯的构建版本,我发现了几个或更多可以帮助的宝石,但我不确定如何使用它middleman 或者如果可能的话。这是我正在谈论的宝石之一:
可以和middleman一起使用吗?如果是,那么如何?
【问题讨论】:
我正在编写时事通讯,完成后我想内联所有 css 代码。 有一些在线工具可以做到这一点,例如:
但我想在middleman 内完成它并准备好发送我的时事通讯的构建版本,我发现了几个或更多可以帮助的宝石,但我不确定如何使用它middleman 或者如果可能的话。这是我正在谈论的宝石之一:
可以和middleman一起使用吗?如果是,那么如何?
【问题讨论】:
我从未真正使用过中间人,但通过快速阅读,我想我为你找到了解决方案
您应该可以在中间人上使用来自inline-style 的机架中间件
http://middlemanapp.com/advanced/rack-middleware/
如果您希望为所有路线添加use InlineStyle::Rack::Middleware,则应添加它。
【讨论】:
Middleman 是一个静态站点生成器,通常在部署时根本不使用中间件。这并不意味着您不能以这种方式部署中间人,而是在构建中间人之后吐出您的网络服务器只需要发送给客户端的平面 html 文件。它是静态的。
在构建过程中内联文件的最简单方法可能是IO::read,如下所示:
<%= IO.read("path/to/file.ext") %>
当文件应该使用 Sass 或 CoffeeScript 预处理时,你必须检查它是如何工作的,因为默认情况下中间人会添加一个缓存破坏器,所以你不知道压缩文件的最终名称。
【讨论】: