107 lines
2.0 KiB
Ruby
107 lines
2.0 KiB
Ruby
|
#!/usr/bin/env ruby
|
||
|
|
||
|
require 'sass'
|
||
|
require 'sprockets'
|
||
|
require 'listen'
|
||
|
|
||
|
absPath = File.expand_path File.dirname(__FILE__)
|
||
|
$root = "#{absPath}/assets/src"
|
||
|
$dst = "#{absPath}/assets"
|
||
|
$sprockets = Sprockets::Environment.new($root)
|
||
|
$sprockets.append_path("#{$root}/scripts")
|
||
|
$sprockets.append_path("#{$root}/scss")
|
||
|
$sprockets.css_compressor = :scss
|
||
|
|
||
|
def type path
|
||
|
return :js if path =~ /(js|coffee)/
|
||
|
return :css
|
||
|
end
|
||
|
|
||
|
def pathFor str
|
||
|
folder = type(str) == :js ? 'scripts' : 'css';
|
||
|
return str.gsub("#{$root}/#{folder}/", '')
|
||
|
end
|
||
|
|
||
|
#str = '/Users/rob/Sites/fichitas/assets/src/scss/_buttons.scss'
|
||
|
|
||
|
#p pathFor str
|
||
|
#assets = $sprockets.find_asset(pathFor str)
|
||
|
#puts "#{$dst}/#{type str}/"
|
||
|
#p assets
|
||
|
#File.open("")
|
||
|
#assets.write_to "#{$dst}/#{type str}/"
|
||
|
#=begin
|
||
|
begin
|
||
|
listener = Listen.to("#{$root}", debug: true) do |mod, add, del|
|
||
|
del.each do |d|
|
||
|
File.unlink "#{$dst}/#{type del}/#{pathFor del}"
|
||
|
end
|
||
|
|
||
|
mod.each do |f|
|
||
|
folder = type f
|
||
|
err = nil
|
||
|
if folder==:js
|
||
|
dest = "#{$dst}/js/main.js"
|
||
|
begin
|
||
|
asset = $sprockets.find_asset("main.coffee")
|
||
|
rescue Exception => e
|
||
|
err = e
|
||
|
end
|
||
|
else
|
||
|
dest = "#{$dst}/css/main.css"
|
||
|
begin
|
||
|
asset = $sprockets.find_asset("main.css")
|
||
|
rescue Exception => e
|
||
|
err = e
|
||
|
end
|
||
|
end
|
||
|
puts dest
|
||
|
|
||
|
if err
|
||
|
puts err
|
||
|
else
|
||
|
File.open(dest, 'w+') do |file|
|
||
|
file << asset.to_s
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
add.each do |f|
|
||
|
folder = type f
|
||
|
err = nil
|
||
|
if folder==:js
|
||
|
dest = "#{$dst}/js/main.js"
|
||
|
begin
|
||
|
asset = $sprockets.find_asset("main.coffee")
|
||
|
rescue Exception => e
|
||
|
err = e
|
||
|
end
|
||
|
else
|
||
|
dest = "#{$dst}/css/main.css"
|
||
|
begin
|
||
|
asset = $sprockets.find_asset("main.css")
|
||
|
rescue Exception => e
|
||
|
err = e
|
||
|
end
|
||
|
end
|
||
|
puts dest
|
||
|
|
||
|
if err
|
||
|
puts err
|
||
|
else
|
||
|
File.open(dest, 'w+') do |file|
|
||
|
file << asset.to_s
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
end
|
||
|
listener.start
|
||
|
|
||
|
|
||
|
sleep
|
||
|
rescue Exception
|
||
|
exit
|
||
|
end
|
||
|
#=end
|