Property definitions

markdown2 $ MarkdownRenderer :: defaultinit
# Markdown document renderer to Markdown
class MarkdownRenderer
	super MdRenderer

	# Markdown output under construction
	private var md: Buffer is noinit

	# Render `node` as Markdown
	redef fun render(node) do
		reset
		enter_visit(node)
		return md.write_to_string
	end

	redef fun visit(node) do node.render_md(self)

	# Reset internal state
	fun reset do
		md = new Buffer
	end

	# Current indentation level
	private var indent = 0

	# Are we currently in a blockquote?
	var in_quote = 0

	# Add a `md` string to the output
	fun add_raw(md: String) do self.md.append(md)

	# Add a blank line to the output
	fun add_line do add_raw "\n"

	# Add an indentation depending on `ident` level
	fun add_indent do
		add_raw " " * indent
	end
end
lib/markdown2/markdown_md_rendering.nit:22,1--59,3