run

in website/lib/default.rb [36:59]


  def run(content, params={})
    content.gsub(/(^`{3,}\s*(\S*)\s*$([^`]*)^`{3,}\s*$)+?/m) {|match|
      lang_spec  = $2
      code_block = $3

      replacement = ''

      replacement << '<pre class="highlight"><code class="language'

      if lang_spec && lang_spec.length > 0
        replacement << '-'
        replacement << lang_spec
      end

      replacement << '">'

      code_block.gsub!("[:backtick:]", "`")

      coder = HTMLEntities.new
      replacement << coder.encode(code_block)
      replacement << '</code></pre>'
    }
  end