Module: Middleman::Syntax::Helper

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

Instance Method Summary collapse

Instance Method Details

#code(language = nil, &block) ⇒ Object

Output highlighted code. Use like:

<% code('ruby') do %>
  my code
<% end %>

To produce the following structure:

<div class="highlight">
  <pre>#{your code}
  </pre>
</div>

Parameters:

  • language (String) (defaults to: nil)

    the Pygments lexer to use



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/middleman-syntax/extension.rb', line 66

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 Middleman::Syntax::Highlighter.highlight(content, language)
end