Module: Hayde::TextileExtensions

Defined in:
lib/hayde/textile_extensions.rb

Instance Method Summary collapse

Instance Method Details

#code(body) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/hayde/textile_extensions.rb', line 33

def code(body)
  body.gsub!(%r{<(yaml|shell|ruby|erb|html|sql|plain)>(.*?)</\1>}m) do |m|
    es = ERB::Util.h($2)
    css_class = ['erb', 'shell'].include?($1) ? 'html' : $1
    %{<notextile><div class="code_container"><code class="#{css_class}">#{es}</code></div></notextile>}
  end
end

#notestuff(body) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/hayde/textile_extensions.rb', line 3

def notestuff(body)
  body.gsub!(/^(IMPORTANT|CAUTION|WARNING|NOTE|INFO)[.:](.*)$/) do |m|
    css_class = $1.downcase
    css_class = 'warning' if ['caution', 'important'].include?(css_class)

    result = "<div class='#{css_class}'><p>"
    result << $2.strip
    result << '</p></div>'
    result
  end
end

#plusplus(body) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/hayde/textile_extensions.rb', line 24

def plusplus(body)
  body.gsub!(/\+(.*?)\+/) do |m|
    "<notextile><tt>#{$1}</tt></notextile>"
  end

  # The real plus sign
  body.gsub!('<plus>', '+')
end

#tip(body) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/hayde/textile_extensions.rb', line 15

def tip(body)
  body.gsub!(/^TIP[.:](.*)$/) do |m|
    result = "<div class='info'><p>"
    result << $1.strip
    result << '</p></div>'
    result
  end
end