Sha256: 11d3fecd7e955a905753762bcc5230db8ba5c3583f2a28bf3e97f13c13ba3db2
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
module SlideHero class Slide attr_reader :headline, :headline_size, :transition, :background_color def initialize(headline=nil, headline_size: :medium, transition: :default, background_color: nil, &point_block) @headline = headline @headline_size = headline_size @transition = transition @background_color = background_color instance_eval(&point_block) if block_given? end def compile Tilt::ERBTemplate.new(File.join(SlideHero.template_path, 'lib/slide_hero/views/slide.html.erb')). render(self) end def point(text, animation: nil) points << Point.new(text, animation: animation).compile end def list(style=:unordered, &block) points << List.new(style, &block).compile end def code(*args, &code) points << Code.new(*args, &code).compile end def points @points ||= [] end def note(text) points << Note.new(text).compile end def image(*args, **kwargs) points << Image.new(*args, **kwargs).compile end def media(*args, **kwargs) points << Media.new(*args, **kwargs).compile end private def size_to_markup { large: :h1, medium: :h2, small: :h3 }[headline_size] end def data_attributes "data-transition=\"#{transition}\"".tap do |attr| if background_color attr << " data-background=\"#{background_color}\"" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
slide_hero-0.0.5 | lib/slide_hero/slide.rb |