Class: DaimonMarkdown::Redcarpet::HTMLRenderer
- Inherits:
-
Redcarpet::Render::HTML
- Object
- Redcarpet::Render::HTML
- DaimonMarkdown::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.
9 10 11 12 |
# File 'lib/daimon_markdown/redcarpet/html_renderer.rb', line 9 def initialize(extensions = {}) super @plugins = [] end |
Instance Method Details
#postprocess(full_document) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/daimon_markdown/redcarpet/html_renderer.rb', line 28 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
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/daimon_markdown/redcarpet/html_renderer.rb', line 14 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 |