Class: MagicReveal::SlideRenderer
- Inherits:
-
Redcarpet::Render::HTML
- Object
- Redcarpet::Render::HTML
- MagicReveal::SlideRenderer
- Includes:
- Redcarpet::Render::SmartyPants
- Defined in:
- lib/magic_reveal/slide_renderer.rb
Instance Attribute Summary collapse
-
#has_shown_slides ⇒ Object
Returns the value of attribute has_shown_slides.
Class Method Summary collapse
Instance Method Summary collapse
- #block_code(code, language) ⇒ Object
- #doc_footer ⇒ Object
- #doc_header ⇒ Object
- #header(text, header_level) ⇒ Object
-
#initialize ⇒ SlideRenderer
constructor
A new instance of SlideRenderer.
- #prepare_code(code) ⇒ Object
Constructor Details
#initialize ⇒ SlideRenderer
Returns a new instance of SlideRenderer.
11 12 13 |
# File 'lib/magic_reveal/slide_renderer.rb', line 11 def initialize super(no_styles: true) end |
Instance Attribute Details
#has_shown_slides ⇒ Object
Returns the value of attribute has_shown_slides.
9 10 11 |
# File 'lib/magic_reveal/slide_renderer.rb', line 9 def @has_shown_slides end |
Class Method Details
.markdown_renderer ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/magic_reveal/slide_renderer.rb', line 15 def self.markdown_renderer Redcarpet::Markdown.new( self.new, :space_after_headers => true, :filter_html => true, :fenced_code_blocks => true, :no_intra_emphasis => true, ) end |
Instance Method Details
#block_code(code, language) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/magic_reveal/slide_renderer.rb', line 54 def block_code(code, language) output = [] if language output << "<pre class=\"#{language}\">" else output << "<pre>" end output << "<code>" output << CGI::escapeHTML(prepare_code code) output << "</code>" output << "</pre>" output.join("") end |
#doc_footer ⇒ Object
30 31 32 |
# File 'lib/magic_reveal/slide_renderer.rb', line 30 def ? '</section>' : '' end |
#doc_header ⇒ Object
25 26 27 28 |
# File 'lib/magic_reveal/slide_renderer.rb', line 25 def doc_header @has_shown_slides = false "<!-- generated by magic_reveal v#{VERSION} on #{Time.now} -->" end |
#header(text, header_level) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/magic_reveal/slide_renderer.rb', line 34 def header(text, header_level) output = [] if output << "</section>" else @has_shown_slides = true end output << "<section>" output << "<h#{header_level}>#{text}</h#{header_level}>" output.join("\n") end |
#prepare_code(code) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/magic_reveal/slide_renderer.rb', line 46 def prepare_code(code) if code =~ %r{\A\s*@@source\s*=\s*(.*)\s*\Z} File.read($1) else code.sub(%r{\A\s*}, '').sub(%r{\s*\Z}, '') end end |