Sha256: d95ad4ba17946ab559cd66d77bac1d99bc736e84652de14f72abf787dd34aa31

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

# Markdown renderer
module Middleman::Renderers::Markdown
  
  # Setup extension
  class << self
    
    # Once registered
    def registered(app)
      # Require redcarpet gem
      require "redcarpet"
      
      # Forcably disable Redcarpet1 support.
      # Tilt defaults to this if available, but the compat
      # layer disables extensions.
      Object.send(:remove_const, :RedcarpetCompat) if defined? ::RedcarpetCompat
      
      # Set our preference for a markdown engine
      app.set :markdown_engine, :redcarpet
      app.set :markdown_engine_prefix, ::Tilt
      
      # Once configuration is parsed
      app.after_configuration do
        
        # Look for the user's preferred engine
        unless markdown_engine.nil?
          
          # Map symbols to classes
          if markdown_engine.is_a? Symbol
            engine = engine.to_s
            engine = engine == "rdiscount" ? "RDiscount" : engine.camelize
            markdown_engine = markdown_engine_prefix.const_get("#{engine}Template")
          end
        
          # Tell tilt to use that engine
          ::Tilt.prefer(markdown_engine)
        end
      end
    end
    alias :included :registered
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
middleman-more-3.0.0.beta.1 lib/middleman-more/renderers/markdown.rb
middleman-more-3.0.0.alpha.9 lib/middleman-more/renderers/markdown.rb
middleman-more-3.0.0.alpha.8 lib/middleman-more/renderers/markdown.rb