Sha256: 0a73f6e1bf388ce44a5e160d60fdc9600669f00cc3054b423b2d07108b76bb2d

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 KB

Contents

module Jekyll
  module Converters
    class Markdown
      class MarukuParser
        def initialize(config)
          require 'maruku'
          @config = config
          if @config['maruku']['use_divs']
            load_divs_library
          end
          if @config['maruku']['use_tex']
            load_blahtext_library
          end
        rescue LoadError
          STDERR.puts 'You are missing a library required for Markdown. Please run:'
          STDERR.puts '  $ [sudo] gem install maruku'
          raise FatalException.new("Missing dependency: maruku")
        end

        def load_divs_library
          require 'maruku/ext/div'
          STDERR.puts 'Maruku: Using extended syntax for div elements.'
        end

        def load_blahtext_library
          require 'maruku/ext/math'
          STDERR.puts "Maruku: Using LaTeX extension. Images in `#{@config['maruku']['png_dir']}`."

          # Switch off MathML output
          MaRuKu::Globals[:html_math_output_mathml] = false
          MaRuKu::Globals[:html_math_engine] = 'none'

          # Turn on math to PNG support with blahtex
          # Resulting PNGs stored in `images/latex`
          MaRuKu::Globals[:html_math_output_png] = true
          MaRuKu::Globals[:html_png_engine] =  @config['maruku']['png_engine']
          MaRuKu::Globals[:html_png_dir] = @config['maruku']['png_dir']
          MaRuKu::Globals[:html_png_url] = @config['maruku']['png_url']
        end

        def convert(content)
          Maruku.new(content).to_html
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jekyll-1.0.2 lib/jekyll/converters/markdown/maruku_parser.rb
jekyll-1.0.1 lib/jekyll/converters/markdown/maruku_parser.rb
jekyll-1.0.0 lib/jekyll/converters/markdown/maruku_parser.rb
jekyll-1.0.0.rc1 lib/jekyll/converters/markdown/maruku_parser.rb