Class: Renderer::Markdown

Inherits:
Object show all
Defined in:
lib/renderer/markdown.rb

Overview

Markdown provides utilities for generating HTML from markdown contents

Class Method Summary collapse

Class Method Details

.inline(input) ⇒ Object

Renders a given input using the inline renderer.

input - Markdown content to be rendered

Returns an HTML string containing the rendered Markdown content



49
50
51
# File 'lib/renderer/markdown.rb', line 49

def self.inline(input)
  make_render(InlineRenderer).render(input)
end

.make_render(type) ⇒ Object

Internal: Creates a new renderer based on a provided type by setting sensible defaults.

type - Type of the renderer to be initialised. Use Renderer or

InlineRenderer


27
28
29
30
31
32
33
# File 'lib/renderer/markdown.rb', line 27

def self.make_render(type)
  Redcarpet::Markdown.new(
    type,
    fenced_code_blocks: true,
    autolink: true
  )
end

.render(input) ⇒ Object

Renders a given input using the default renderer.

input - Markdown content to be rendered

Returns an HTML string containing the rendered Markdown content



40
41
42
# File 'lib/renderer/markdown.rb', line 40

def self.render(input)
  make_render(MarkdownRenderer).render(input)
end

.render_source(source) ⇒ Object

Renders a given Ruby source code into HTML

source - Source code to be rendered

Returns an HTML string containing the rendered source code



58
59
60
# File 'lib/renderer/markdown.rb', line 58

def self.render_source(source)
  render("```ruby\n#{source}\n```")
end