diff --git a/lib/skeksis.rb b/lib/skeksis.rb index 8f7b561..f387706 100644 --- a/lib/skeksis.rb +++ b/lib/skeksis.rb @@ -10,7 +10,7 @@ module Skeksis extend self def htmlize(data) - puts Skeksis::Parser.parse(data).htmlize + #puts Skeksis::Parser.parse(data).htmlize Skeksis::Parser.parse(data).htmlize end end diff --git a/lib/skeksis/parser.rb b/lib/skeksis/parser.rb index acf4f26..987411e 100644 --- a/lib/skeksis/parser.rb +++ b/lib/skeksis/parser.rb @@ -59,7 +59,7 @@ module Skeksis extend self def parse(input) - #puts("##### PARSING STARTED #####") + puts("##### PARSING STARTED #####") list = IR.new @@ -69,18 +69,38 @@ module Skeksis content = [] data.each do |line| type = get_type(line) - if type == :verbatim and in_verbatim_block == false - in_verbatim_block = true - content.push(line) - elsif type != :verbatim and in_verbatim_block == true - content.push(line) - elsif type == :verbatim and in_verbatim_block == true - in_verbatim_block = false - content.push(line) - list.push({ type: :verbatim, content: content }) - content = [] - next + + case type + when :verbatim + if in_verbatim_block == false + in_verbatim_block = true + content.push(line) + elsif in_verbatim_block == true + in_verbatim_block = false + content.push(line) + list.push({ type: :verbatim, content: content }) + content = [] + next + end + else + if in_verbatim_block == true + content.push(line) + end end + + + #if type == :verbatim and in_verbatim_block == false + # in_verbatim_block = true + # content.push(line) + #elsif type != :verbatim and in_verbatim_block == true + # content.push(line) + #elsif type == :verbatim and in_verbatim_block == true + # in_verbatim_block = false + # content.push(line) + # list.push({ type: :verbatim, content: content }) + # content = [] + # next + #end if in_verbatim_block == false list.push({ type: type, content: [line] }) @@ -88,9 +108,9 @@ module Skeksis end list.strip_markers! - #puts list + puts list #puts strip_markers(list) - #puts("##### PARSING FINISHED #####") + puts("##### PARSING FINISHED #####") list end