Sha256: c540dfcefa36ea1d35506c018db40dbf77ff444e581614bb37dc3b080e69a4bf

Contents?: true

Size: 1.07 KB

Versions: 7

Compression:

Stored size: 1.07 KB

Contents

module Moft
  module Converters
    class Markdown < Converter
      safe true

      pygments_prefix "\n"
      pygments_suffix "\n"

      def setup
        return if @setup
        @parser = case @config['markdown']
          when 'redcarpet'
            RedcarpetParser.new @config
          when 'kramdown'
            KramdownParser.new @config
          when 'rdiscount'
            RDiscountParser.new @config
          when 'maruku'
            MarukuParser.new @config
          else
            STDERR.puts "Invalid Markdown processor: #{@config['markdown']}"
            STDERR.puts "  Valid options are [ maruku | rdiscount | kramdown | redcarpet ]"
            raise FatalException.new("Invalid Markdown process: #{@config['markdown']}")
        end
        @setup = true
      end

      def matches(ext)
        rgx = '(' + @config['markdown_ext'].gsub(',','|') +')'
        ext =~ Regexp.new(rgx, Regexp::IGNORECASE)
      end

      def output_ext(ext)
        ".html"
      end

      def convert(content)
        setup
        @parser.convert(content)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
moft-1.0.5 lib/moft/converters/markdown.rb
moft-1.0.4 lib/moft/converters/markdown.rb
moft-1.0.3 lib/moft/converters/markdown.rb
moft-1.0.2.1 lib/moft/converters/markdown.rb
moft-1.0.2 lib/moft/converters/markdown.rb
moft-1.0.1 lib/moft/converters/markdown.rb
moft-1.0.0 lib/moft/converters/markdown.rb