ruby-on-rails – 在Ruby中解析,编辑和输出CSS
发布时间:2020-12-17 01:57:57 所属栏目:百科 来源:网络整理
导读:是否有一个gem在 Ruby中执行css编辑和解析?我需要的是打开css文件,通过选择器执行查找,更改它并保存输出.最好的方法如下: draft = CSSParser.load('structure.css')draft.find('#header a').style('color','#333')draft.render 最合适的方法是什么? 解决
是否有一个gem在
Ruby中执行css编辑和解析?我需要的是打开css文件,通过选择器执行查找,更改它并保存输出.最好的方法如下:
draft = CSSParser.load('structure.css') draft.find('#header a').style('color','#333') draft.render 最合适的方法是什么? 解决方法
我为解决问题做了一些步骤.目前以下代码能够改变CSS,虽然它缺少漂亮的finder line draft.find(‘#header a’).style(‘color’,’#333′):
CSS: $red: #900; #hello_world a{ font-size: 1pt + 3pt; &:hover{ color: $red + #333 } color: #444333; } 码: require 'rubygems' require 'haml' require 'sass' def get_file_as_string(filename) data = '' File.open(filename,"r").each_line {|line| data += line} data end engine = Sass::Engine.new(template,:syntax => :scss) result,extends = engine.to_tree.perform(Sass::Environment.new).cssize @x = result.children[1] # nice search method should be here class Sass::Tree::RuleNode def set_property(property,value) prop = self.children.first{|child| child.class == 'Sass::Tree::PropNode' && child.instance_variable_get(:@resolved_name) == property } prop.instance_variable_set(:@resolved_value,value) end end @x.set_property('color','#362') puts result.to_s (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |