Sha256: 82a39ae9aac6297bb9be353ce6e05d8cec5a5c6559dafd74894ff5f6290fff38

Contents?: true

Size: 624 Bytes

Versions: 4

Compression:

Stored size: 624 Bytes

Contents

module TP
  class Slide
    attr_reader :markdown

    def initialize(markdown)
      @markdown = markdown.strip
    end

    def header
      line = lines.first
      line[1, line.length - 1].to_s.strip
    end

    def centered_header
      header.center Screen.width
    end

    def content
      result = lines[2, lines.count - 2]

      result.join if result
    end

    def frames
      [render]
    end

    def lines
      markdown.lines.to_a
    end

    def render
      raise NotImplementedError
    end

    def width
      raise NotImplementedError
    end

    def height
      lines.count
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tp-0.5.1 lib/tp/slide.rb
tp-0.5.0 lib/tp/slide.rb
tp-0.4.1 lib/tp/slide.rb
tp-0.4.0 lib/tp/slide.rb