diff options
-rw-r--r-- | lib/zorglub/app.rb | 7 | ||||
-rw-r--r-- | lib/zorglub/engines/sass.rb | 23 |
2 files changed, 29 insertions, 1 deletions
diff --git a/lib/zorglub/app.rb b/lib/zorglub/app.rb index 553dd3f..3d2819b 100644 --- a/lib/zorglub/app.rb +++ b/lib/zorglub/app.rb @@ -25,11 +25,16 @@ module Zorglub :ugly => false, :encoding => 'utf-8' }, + :sass_options => { + :syntax => :scss, + :cache => :false, + :style => :compressed + }, :session_options => { :enabled => false, :key => 'zorglub.sid', :secret => 'session-secret-secret', - :sid_len => 64, + :sid_len => 64 } } instance_eval &block if block_given? diff --git a/lib/zorglub/engines/sass.rb b/lib/zorglub/engines/sass.rb new file mode 100644 index 0000000..dd0eadb --- /dev/null +++ b/lib/zorglub/engines/sass.rb @@ -0,0 +1,23 @@ +# -*- coding: UTF-8 -*- +# +require 'sass/util' +require 'sass/engine' +# +module Zorglub + module Engines + module Sass + def self.proc path,obj + if obj.app.opt(:engines_cache_enabled) + key = path.sub obj.app.opt(:root),'' + sass = obj.app.engines_cache[key] ||= ::Sass::Engine.new( ::File.open(path,'r'){|f| f.read }, obj.app.opt(:sass_options) ) + else + sass = ::Sass::Engine.new( ::File.open(path,'r'){|f| f.read }, obj.app.opt(:sass_options) ) + end + css = sass.render + return css, 'text/css' + end + end + end +end +# +# EOF |