Module: Filters::PreFilter

Included in:
ExtendedMarkdownFilter
Defined in:
lib/filters/pre/helper.rb,
lib/filters/pre/command-line.rb

Instance Method Summary collapse

Instance Method Details

#format_command_line(text) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/filters/pre/command-line.rb', line 3

def format_command_line(text)
  text.gsub /\n?``` command-line(.+?)```/m do |block|
    block.gsub! /^``` command-line/, '<pre class="command-line">'
    block.gsub! /^```$/, "</pre>\n"
    block.gsub!(/^\$ (.+)$/) { %Q|<span class="command">#{$1.rstrip}</span>| }
    block.gsub!(/^(\# .+)$/) { %Q|<span class="comment">#{$1.rstrip}</span>| }
    block.gsub!(/^> (.+)$/) { %Q|<span class="output"><span># </span>#{$1.rstrip}</span>| }

    block
  end
end

#format_helper(text) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/filters/pre/helper.rb', line 3

def format_helper(text)
  prefix = '<p'

  text.gsub /\n?``` helper(.+?)```/m do |block|
    block.gsub! /^``` helper\s*/, ''
    block.gsub! /^```$/, ''

    header = ''
    block.gsub! /^#### (.+?)$/ do
      header = $1.strip
      ''
    end

    content = block.strip
    content = "<p>#{content}</p>" unless content[0, prefix.length] == prefix
    content = "<div class='helper'><h4 class='header'><a href='#'>#{header}</a></h4><div class='content'>#{content}</div></div>"
  end
end