module MarkdownConfig

Load the configuration for the markdown engine from the showoff.json file

Public Class Methods

defaults(dir_name) click to toggle source
# File lib/showoff_utils.rb, line 722
def self.defaults(dir_name)
  case ShowoffUtils.showoff_markdown(dir_name)
  when 'rdiscount'
    {
      :autolink          => true,
    }
  when 'maruku'
    {}
  when 'bluecloth'
    {
      :auto_links        => true,
      :definition_lists  => true,
      :superscript       => true,
      :tables            => true,
    }
  when 'kramdown'
    {}
  when 'commonmarker'
    {
      :UNSAFE            => true,
    }
  else
    {
      :autolink          => true,
      :no_intra_emphasis => true,
      :superscript       => true,
      :tables            => true,
      :underline         => true,
    }
  end
end
setup(dir_name) click to toggle source
# File lib/showoff_utils.rb, line 671
def self.setup(dir_name)
  require 'tilt'
  require 'tilt/erb'

  renderer = ShowoffUtils.showoff_markdown(dir_name)
  begin
    # Load markdown configuration
    case renderer
    when 'rdiscount'
      Tilt.prefer Tilt::RDiscountTemplate, "markdown"

    when 'maruku'
      Tilt.prefer Tilt::MarukuTemplate, "markdown"
      # Now check if we can go for latex mode
      require 'maruku'
      require 'maruku/ext/math'

      # Load maruku options
      opts = ShowoffUtils.showoff_renderer_options(dir_name,
                                                   { :use_tex      => false,
                                                     :png_dir      => 'images',
                                                     :html_png_url => '/file/images/'})

      if opts[:use_tex]
        MaRuKu::Globals[:html_math_output_mathml] = false
        MaRuKu::Globals[:html_math_output_png]    = true
        MaRuKu::Globals[:html_math_engine]        = 'none'
        MaRuKu::Globals[:html_png_engine] =  'blahtex'
        MaRuKu::Globals[:html_png_dir]    = opts[:png_dir]
        MaRuKu::Globals[:html_png_url]    = opts[:html_png_url]
      end

    when 'bluecloth'
      Tilt.prefer Tilt::BlueClothTemplate, "markdown"

    when 'kramdown'
      Tilt.prefer Tilt::KramdownTemplate, "markdown"

    when 'commonmarker', 'commonmark'
      Tilt.prefer Tilt::CommonMarkerTemplate, "markdown"

    else
      Tilt.prefer Tilt::RedcarpetTemplate, "markdown"

    end
  rescue LoadError
    puts "ERROR: The #{renderer} markdown rendering engine does not appear to be installed correctly."
    exit 1
  end
end