Sha256: 59beeb49323d71e104a94c808b2250d5cec2e2531c40903272e763bcc505e6ca

Contents?: true

Size: 977 Bytes

Versions: 7

Compression:

Stored size: 977 Bytes

Contents

require 'redcarpet'
require 'rouge'
require 'rouge/plugins/redcarpet'

module WikiMD
  # Renderer for converting Markdown to HTML
  # includes syntax highlighting from Rouge.
  class Renderer < Redcarpet::Render::HTML
    include Rouge::Plugins::Redcarpet

    # Builds a new renderer with all the capabilities we need.
    #
    # @return [Redcarpet::Markdown] a new Renderer.
    def self.build
      Redcarpet::Markdown.new self,
                              fenced_code_blocks: true,
                              no_intra_emphasis: true,
                              autolink: true,
                              strikethrough: true,
                              superscript: true,
                              highlight: true,
                              footnotes: true
    end

    # Generates CSS Rules required for syntax highlighting.
    #
    # @return [String] CSS!
    def self.css
      Rouge::Themes::Github.render(scope: '.highlight')
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
wikimd-0.4.2 lib/wikimd/renderer.rb
wikimd-0.4.1 lib/wikimd/renderer.rb
wikimd-0.4.0 lib/wikimd/renderer.rb
wikimd-0.3.1 lib/wikimd/renderer.rb
wikimd-0.3.0 lib/wikimd/renderer.rb
wikimd-0.2.0 lib/wikimd/renderer.rb
wikimd-0.1.0 lib/wikimd/renderer.rb