Class: Daimon::Markdown::Redcarpet::HTMLRenderer
- Inherits:
-
Redcarpet::Render::HTML
- Object
- Redcarpet::Render::HTML
- Daimon::Markdown::Redcarpet::HTMLRenderer
- Includes:
- Rouge::Plugins::Redcarpet
- Defined in:
- lib/daimon/markdown/redcarpet/html_renderer.rb
Instance Method Summary collapse
-
#initialize(extensions = {}) ⇒ HTMLRenderer
constructor
A new instance of HTMLRenderer.
- #postprocess(full_document) ⇒ Object
- #preprocess(full_document) ⇒ Object
Constructor Details
#initialize(extensions = {}) ⇒ HTMLRenderer
Returns a new instance of HTMLRenderer.
10 11 12 13 |
# File 'lib/daimon/markdown/redcarpet/html_renderer.rb', line 10 def initialize(extensions = {}) super @plugins = [] end |
Instance Method Details
#postprocess(full_document) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/daimon/markdown/redcarpet/html_renderer.rb', line 29 def postprocess(full_document) return full_document if @plugins.empty? document = "" scanner = StringScanner.new(full_document) loop do break if scanner.eos? if scanner.match?(/{{.+?}}/m) document << @plugins.shift scanner.pos += scanner.matched_size else document << scanner.getch end end document end |
#preprocess(full_document) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/daimon/markdown/redcarpet/html_renderer.rb', line 15 def preprocess(full_document) scanner = StringScanner.new(full_document) loop do break if scanner.eos? if scanner.match?(/{{.+?}}/m) @plugins << scanner.matched scanner.pos += scanner.matched_size else scanner.getch end end full_document end |