class MinimalMarkdown::Parsers::UnorderedList
Public Class Methods
new(style)
click to toggle source
# File lib/minimal_markdown/parsers/unordered_list.rb, line 3 def initialize(style) end
Public Instance Methods
multiline?()
click to toggle source
# File lib/minimal_markdown/parsers/unordered_list.rb, line 6 def multiline? true end
update_tree(tree)
click to toggle source
# File lib/minimal_markdown/parsers/unordered_list.rb, line 10 def update_tree(tree) tree.flat_map do |node| if node.is_a?(String) update_text(node) else node end end end
Private Instance Methods
update_text(input)
click to toggle source
# File lib/minimal_markdown/parsers/unordered_list.rb, line 22 def update_text(input) out = [] while result = input.match(/(?:^[ ]*[*+-][ ]+[^\n]+(?:\n|$))+/m) out << result.pre_match unless result.pre_match.empty? children = result[0].split("\n").map do |line| ::MinimalMarkdown::Nodes::Text.new(line.sub(/^\s*[*+-]\s+/, '')) end out << ::MinimalMarkdown::Nodes::UnorderedList.new(children) input = result.post_match end out << input unless input.empty? out end