Module: Guide::DocumentHelper

Defined in:
app/helpers/guide/document_helper.rb

Instance Method Summary collapse

Instance Method Details

#code_example(language = 'markup', show_rendered_element = true, &block) ⇒ Object

Raises:

  • (ArgumentError)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/helpers/guide/document_helper.rb', line 2

def code_example(language='markup', show_rendered_element=true, &block)
  raise ArgumentError, "Missing block" unless block_given?

  code_stream = capture(&block)

  html = Nokogiri::HTML(code_stream.to_str)
  code_string = html.css("span.example").collect(&:inner_html).join
  code_string = code_stream.to_str if code_string.blank?

  code_string = code_string.strip_heredoc.strip

  capture do
    concat (:div, code_stream, :class => "sg-content__demo") if show_rendered_element
    concat (:pre, (:code, code_string),
                       :class => "sg-content__code language-#{language} line-numbers",
                       :"data-language" => language)
  end
end