Class: Kitabu::Markdown
- Inherits:
-
Object
- Object
- Kitabu::Markdown
- Defined in:
- lib/bookmaker/adapters/markdown.rb
Constant Summary collapse
- MARKDOWN_LIBRARIES =
Supported Markdown libraries
%w[Kramdown]
Class Method Summary collapse
-
.engine ⇒ Object
Retrieve preferred Markdown processor.
-
.to_html(content) ⇒ Object
Convert Markdown to HTML.
Class Method Details
.engine ⇒ Object
Retrieve preferred Markdown processor. You’ll need one of the following libraries:
# RDiscount: rubygems.org/gems/rdiscount # Maruku: rubygems.org/gems/maruku # PEGMarkdown: rubygems.org/gems/rpeg-markdown # BlueCloth: rubygems.org/gems/bluecloth # Redcarpet: rubygems.org/gems/redcarpet # Kramdown: kramdown.rubyforge.org/
Note: RDiscount will always be installed as Kitabu’s dependency but only used when no alternative library is available.
20 21 22 |
# File 'lib/bookmaker/adapters/markdown.rb', line 20 def self.engine @engine ||= Object.const_get(MARKDOWN_LIBRARIES.find {|lib| Object.const_defined?(lib)}) end |
.to_html(content) ⇒ Object
Convert Markdown to HTML.
25 26 27 28 29 30 31 32 33 |
# File 'lib/bookmaker/adapters/markdown.rb', line 25 def self.to_html(content) case engine.name when "Redcarpet" render = Redcarpet::Render::HTML.new(:hard_wrap => true, :xhtml => true) Redcarpet::Markdown.new(render).render(content) else engine.new(content).to_html end end |