Sha256: dcf7130510ecb255579c524a577442be982577a8700639d7efaca3d8c204c24f
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module SlideHero require 'erb' require 'tilt' class Presentation attr_reader :title, :slide_defaults def initialize(title, &block) @title = title @slide_defaults = {} instance_eval(&block) end def set_plugins(*plugin_list) if plugin_list.empty? defaults = %i{class_list highlight notes} plugin_list = defaults end plugin_list.each do |plugin| if Plugins.reveal_list.include? plugin plugins << "#{Plugins.reveal[plugin]}," end end plugins.chop end def plugins @plugins ||= "" end def compile set_plugins if plugins.empty? Tilt::ERBTemplate.new(File.join(SlideHero.template_path, 'lib/slide_hero/views/layout.html.erb')). render(self) do collected_slides end end def defaults(args) @slide_defaults = args end def theme @theme ||= 'default' end def set_theme(theme) @theme = theme end def slide(title, **kwargs, &slide_block) slides << Slide.new(title, slide_defaults.merge(**kwargs), &slide_block).compile end def grouped_slides(&block) slides << GroupedSlides.new(slide_defaults, &block).compile end def collected_slides slides.join end def slides @slides ||= [] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
slide_hero-0.0.6 | lib/slide_hero/presentation.rb |
slide_hero-0.0.5 | lib/slide_hero/presentation.rb |