class XanMarkup::Markupizer

Constants

BlockMarkupSyntax
MarkupSyntax

Public Class Methods

new(content, syntax = MarkupSyntax, block_syntax = BlockMarkupSyntax) click to toggle source
# File lib/xan_markup/markupizer.rb, line 9
def initialize(content, syntax = MarkupSyntax, block_syntax = BlockMarkupSyntax)
  @content = content.to_s.dup.to_str
  @syntax = syntax
  @block_syntax = block_syntax
end

Public Instance Methods

markupize(content = @content, &block) click to toggle source
# File lib/xan_markup/markupizer.rb, line 21
def markupize(content = @content, &block)
  content = markupize_syntax(@block_syntax, content, &block)
  markupize_syntax(@syntax, content, &block)
end
markupize_syntax(syntax, content) { |content_tag($1, markupize(content, &block))| ... } click to toggle source
# File lib/xan_markup/markupizer.rb, line 26
def markupize_syntax(syntax, content, &block)
  content.gsub(syntax) do |markup|
    if content = $4
      yield ContentTag.new($1, markupize(content, &block))
    else
      yield Tag.new($1)
    end
  end
end
tags() click to toggle source
# File lib/xan_markup/markupizer.rb, line 15
def tags
  tags = []
  markupize { |tag| tags << tag }
  tags
end