Sha256: 1400e91d4bd600731a68394de73cf8b96678bee9b44b0d5d1641a53a8685b885

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require 'redcarpet'
require 'pygments.rb'

module Formol
  module Formatters
    module Redcarpet
      class Formatter
        def initialize
          @renderer = SyntaxHighlighter.new(:hard_wrap    => true,
                                            :filter_html  => true)
          @processor = ::Redcarpet::Markdown.new(@renderer, :fenced_code_blocks   => true,
                                                            :no_intra_emphasis    => true,
                                                            :autolink             => true,
                                                            :space_after_headers  => false,
                                                            :superscript          => false)
        end
        
        def to_html(text)
          @processor.render(text).html_safe
        end
        
        def quote(text)
          quoted_text = ""
          
          text.split("\n").each_with_index do |l|
            quoted_text << '> ' if (l.strip.blank? || l.start_with?('>'))
            quoted_text << l
            quoted_text << "\n"
          end
          
          quoted_text
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
formol-0.0.4 lib/formol/formatters/redcarpet/formatter.rb