【发布时间】:2010-05-30 21:45:23
【问题描述】:
我已经在谷歌上搜索了必要的两个小时,但我找不到任何好的答案,所以让我们看看人类能否击败谷歌计算机。
我想在 Ruby 中解析样式表,以便可以将这些样式应用到文档中的元素(以使样式内联)。所以,我想采取类似的东西
<style>
.mystyle {
color:white;
}
</style>
并且能够将其提取到某种 Nokogiri 对象中。
Nokogiri 类 "CSS::Parser" (http://nokogiri.rubyforge.org/nokogiri/Nokogiri/CSS/Parser.html) 肯定有一个很有前途的名字,但我找不到任何关于它是什么或它是如何工作的文档,所以我不知道它是否能做什么我来了。
我的最终目标是能够编写如下代码:
a_web_page = Nokogiri::HTML(html_page_as_string)
parsed_styles = Nokogiri::CSS.parse(html_page_as_string)
parsed_styles.each do |style|
existing_inlined_style = a_web_page.css(style.declaration) || ''
a_web_page.css(style.declaration)['css'] = existing_inlined_style + style.definition
end
这将从样式表中提取样式并将它们作为内联样式添加到我的文档中。
【问题讨论】:
标签: css ruby nokogiri css-parsing