lib/keydown/tasks/slides.rb in keydown-0.9.1 vs lib/keydown/tasks/slides.rb in keydown-0.9.2
- old
+ new
@@ -1,5 +1,8 @@
+require 'sass'
+require 'compass'
+
module Keydown
class Tasks < Thor
desc "slides FILE", "Convert a Keydown FILE into an HTML presentation"
@@ -19,12 +22,17 @@
slide_deck = SlideDeck.new(File.new(file).read)
backgrounds = slide_deck.slides.collect do |slide|
slide.background_image unless slide.background_image.empty?
end.compact
- css_template = File.new(File.join(Tasks.template_dir, '..', 'keydown.css.erb'))
+ context = OpenStruct.new({ :backgrounds => backgrounds })
+ scss_template = Tilt.new(File.join(Tasks.template_dir, '..', 'keydown.scss.erb'))
+ scss = scss_template.render(context)
+
+ compass_path = File.join(Gem.loaded_specs['compass'].full_gem_path, 'frameworks', 'compass', 'stylesheets')
+
create_file 'css/keydown.css', :force => true do
- ERB.new(css_template.read).result(binding)
+ Sass::Engine.new(scss, :syntax => :scss, :load_paths => [compass_path]).render
end
presentation = file.gsub('md', 'html')
create_file presentation, :force => true do
\ No newline at end of file