Module: WebStuff::LessToScss

Defined in:
lib/web_stuff/less_to_scss.rb

Class Method Summary collapse

Class Method Details

.convert(path) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/web_stuff/less_to_scss.rb', line 3

def self.convert(path)
  raise "Invalid less file" unless File.extname(path) == ".less"

  content = File.read(path)
  content.gsub!(/@/, "$").gsub!(/\.([\w\-]*)\s*\((.*)\)\s*\{/, "@mixin \1\(\2\)\n{")
  content.gsub!(/\.([\w\-]*\(.*\)\s*;)/, "@include \1").gsub!(/~"(.*)"/, "\#{\"\1\"}")
  content.gsub!("$import", "@import")
  content.gsub!("$media", "@media")
  content.gsub!("$keyframes", "@-moz-")
  content.gsub!("$-o-", "@-o-")
  content.gsub!("$-webkit-", "@-webkit-")

  Common::Util.write_file(File.join(File.dirname(path), File.basename(path, ".*") + ".scss"), content)
end