加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读