Class: Mdoc::Processor::SmartCodeBlock
- Inherits:
-
Mdoc::Processor
- Object
- Mdoc::Processor
- Mdoc::Processor::SmartCodeBlock
- Defined in:
- lib/mdoc/processor/smart_code_block.rb
Instance Method Summary collapse
Methods inherited from Mdoc::Processor
#post_processors, #pre_processors, #repeatable?
Instance Method Details
#process!(doc) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/mdoc/processor/smart_code_block.rb', line 7 def process!(doc) odd, last, hold = false, false, 0 new_body = '' doc.body.split(/\n/).each do |line| if line =~ /^\s*~{3,}\s*\w*\s*/ hold = 0 if odd odd = odd ? false : true last = true else next if last && odd && (line =~ /^\s*$/) if line =~ /^\s*$/ hold += 1 # hold the line next end last = false end hold.times { new_body << "\n" } hold = 0 new_body << line << "\n" end doc.body = new_body.chomp # puts doc.body end |