class Asciidoctor::PreprocessorReader

def prepare_lines data, opts = {}

def prepare_lines data, opts = {}
  result = super
  # QUESTION should this work for AsciiDoc table cell content? Currently it does not.
  if @document && (@document.attributes.has_key? 'skip-front-matter')
    if (front_matter = skip_front_matter! result)
      @document.attributes['front-matter'] = front_matter * EOL
    end
  end
  if opts.fetch :condense, true
    result.shift && @lineno += 1 while (first = result[0]) && first.empty?
    result.pop while (last = result[-1]) && last.empty?
  end
  if (indent = opts.fetch(:indent, nil))
    Parser.reset_block_indent! result, indent.to_i
  end
  result
end