Module: Middleman::Syntax

Defined in:
lib/middleman-syntax/version.rb,
lib/middleman-syntax/extension.rb

Defined Under Namespace

Modules: Helper, Highlighter, MarkdownCodeRenderer

Constant Summary collapse

VERSION =
"1.2.0"

Class Method Summary collapse

Class Method Details

.optionsObject



5
6
7
# File 'lib/middleman-syntax/extension.rb', line 5

def options
  @@options
end

.registered(app, options_hash = {}) {|@@options| ... } ⇒ Object Also known as: included

Yields:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/middleman-syntax/extension.rb', line 9

def registered(app, options_hash={})
  require 'rouge'

  @@options = options_hash
  yield @@options if block_given?

  app.send :include, Helper

  if app.markdown_engine == :redcarpet
    begin
      require 'middleman-core/renderers/redcarpet'
      Middleman::Renderers::MiddlemanRedcarpetHTML.send :include, MarkdownCodeRenderer
    rescue LoadError
    end
  else
    begin
      require 'kramdown'
      Kramdown::Converter::Html.class_eval do
        def convert_codeblock(el, indent)
          attr = el.attr.dup
          language = extract_code_language!(attr)
          Middleman::Syntax::Highlighter.highlight(el.value, language)
        end
      end
    rescue LoadError
    end
  end
end