Sha256: bc4b7872cad6f5088005cce9ed121419c7c32ab2284ea8e08ac9e0686b8b629f
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
module Middleman module Syntax class << self def registered(app, options_hash={}) require 'pygments' app.send :include, Helper require 'middleman-core/renderers/redcarpet' Middleman::Renderers::MiddlemanRedcarpetHTML.send :include, MarkdownCodeRenderer end alias :included :registered end module Helper # Output highlighted code. Use like: # # <% code('ruby') do %> # my code # <% end %> # # To produce the following structure: # # <div class="highlight"> # <pre>#{your code} # </pre> # </div> # # @param [String] language the Pygments lexer to use def code(language=nil, &block) # Save current buffer for later @_out_buf, _buf_was = "", @_out_buf begin content = if block_given? capture_html(&block) else "" end ensure # Reset stored buffer @_out_buf = _buf_was end concat_content Pygments.highlight(content, :lexer => language) end end module MarkdownCodeRenderer def block_code(code, language) Pygments.highlight(code, :lexer => language) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
middleman-syntax-1.0.1 | lib/middleman-syntax/extension.rb |