Render self as HTML

Property definitions

markdown2 :: markdown_html_rendering $ MdNode :: render_html
	# Render `self` as HTML
	fun render_html(v: HtmlRenderer) do visit_all(v)
lib/markdown2/markdown_html_rendering.nit:184,2--185,49

markdown2 :: markdown_html_rendering $ MdCode :: render_html
	redef fun render_html(v) do
		v.add_raw "<code>"
		v.add_raw v.html_escape(literal, false)
		v.add_raw "</code>"
	end
lib/markdown2/markdown_html_rendering.nit:351,2--355,4

markdown2 :: markdown_html_rendering $ MdHtmlInline :: render_html
	redef fun render_html(v) do
		v.add_raw literal
	end
lib/markdown2/markdown_html_rendering.nit:375,2--377,4

markdown2 :: markdown_html_rendering $ MdText :: render_html
	redef fun render_html(v) do
		v.add_text literal
	end
lib/markdown2/markdown_html_rendering.nit:423,2--425,4

markdown2 :: markdown_html_rendering $ MdBlockQuote :: render_html
	redef fun render_html(v) do
		v.add_line
		v.add_raw "<blockquote>"
		v.add_line
		visit_all(v)
		v.add_line
		v.add_raw "</blockquote>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:191,2--199,4

markdown2 :: markdown_html_rendering $ MdCodeBlock :: render_html
	redef fun render_html(v) do
		var info = self.info
		v.add_line
		v.add_raw "<pre>"
		v.add_raw "<code"
		if info != null and not info.is_empty then
			v.add_raw " class=\"language-{info.split(" ").first}\""
		end
		v.add_raw ">"
		var literal = self.literal or else ""
		var lines = literal.split("\n")
		for i in [0..lines.length[ do
			var line = lines[i]
			v.add_raw v.html_escape(line, false)
			if i < lines.length - 1 then
				v.add_raw "\n"
			end
		end
		v.add_raw "</code>"
		v.add_raw "</pre>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:203,2--224,4

markdown2 :: markdown_html_rendering $ MdHeading :: render_html
	redef fun render_html(v) do
		v.add_line
		if v.enable_heading_ids then
			var id = self.id
			if id == null then
				id = v.strip_id(title)
				v.headings[id] = self
				self.id = id
			end
			v.add_raw "<h{level} id=\"{id}\">"
		else
			v.add_raw "<h{level}>"
		end
		visit_all(v)
		v.add_raw "</h{level}>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:228,2--244,4

markdown2 :: markdown_html_rendering $ MdHtmlBlock :: render_html
	redef fun render_html(v) do
		v.add_line
		var literal = self.literal or else ""
		var lines = literal.split("\n")
		for i in [0..lines.length[ do
			var line = lines[i]
			if not line.trim.is_empty then
				v.add_raw line
			end
			if i < lines.length - 1 then
				v.add_raw "\n"
			end
		end
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:318,2--332,4

markdown2 :: markdown_html_rendering $ MdListItem :: render_html
	redef fun render_html(v) do
		v.add_raw "<li>"
		visit_all(v)
		v.add_raw "</li>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:286,2--291,4

markdown2 :: markdown_html_rendering $ MdParagraph :: render_html
	redef fun render_html(v) do
		var is_tight = is_in_tight_list
		if not is_tight then
			v.add_line
			v.add_raw "<p>"
		end
		visit_all(v)
		if not is_tight then
			v.add_raw "</p>"
			v.add_line
		end
	end
lib/markdown2/markdown_html_rendering.nit:295,2--306,4

markdown2 :: markdown_html_rendering $ MdThematicBreak :: render_html
	redef fun render_html(v) do
		v.add_line
		v.add_raw "<hr />"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:310,2--314,4

markdown2 :: markdown_html_rendering $ MdHardLineBreak :: render_html
	redef fun render_html(v) do
		v.add_raw "<br />"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:338,2--341,4

markdown2 :: markdown_html_rendering $ MdSoftLineBreak :: render_html
	redef fun render_html(v) do
		v.add_raw "\n"
	end
lib/markdown2/markdown_html_rendering.nit:345,2--347,4

markdown2 :: markdown_html_rendering $ MdEmphasis :: render_html
	redef fun render_html(v) do
		v.add_raw "<em>"
		visit_all(v)
		v.add_raw "</em>"
	end
lib/markdown2/markdown_html_rendering.nit:359,2--363,4

markdown2 :: markdown_html_rendering $ MdStrongEmphasis :: render_html
	redef fun render_html(v) do
		v.add_raw "<strong>"
		visit_all(v)
		v.add_raw "</strong>"
	end
lib/markdown2/markdown_html_rendering.nit:367,2--371,4

markdown2 :: markdown_html_rendering $ MdImage :: render_html
	redef fun render_html(v) do
		var url = self.destination
		var title = self.title
		v.add_raw "<img"
		v.add_raw " src=\"{v.encode_uri(url)}\""

		var alt_text = self.alt_text
		v.add_raw " alt=\"{alt_text}\""

		if title != null and not title.is_empty then
			v.add_raw " title=\""
			v.add_text title
			v.add_raw "\""
		end

		v.add_raw " />"
	end
lib/markdown2/markdown_html_rendering.nit:381,2--397,4

markdown2 :: markdown_html_rendering $ MdStrike :: render_html
	redef fun render_html(v) do
		v.add_raw "<del>"
		visit_all(v)
		v.add_raw "</del>"
	end
lib/markdown2/markdown_html_rendering.nit:431,2--435,4

markdown2 :: markdown_html_rendering $ MdSuper :: render_html
	redef fun render_html(v) do
		v.add_raw "<sup>"
		visit_all(v)
		v.add_raw "</sup>"
	end
lib/markdown2/markdown_html_rendering.nit:439,2--443,4

markdown2 :: markdown_html_rendering $ MdOrderedList :: render_html
	redef fun render_html(v) do
		var start = self.start_number
		v.add_line
		v.add_raw "<ol"
		if start != 1 then
			v.add_raw " start=\"{start}\""
		end
		v.add_raw ">"
		v.add_line
		visit_all(v)
		v.add_line
		v.add_raw "</ol>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:269,2--282,4

markdown2 :: markdown_html_rendering $ MdUnorderedList :: render_html
	redef fun render_html(v) do
		v.add_line
		v.add_raw "<ul>"
		v.add_line
		visit_all(v)
		v.add_line
		v.add_raw "</ul>"
		v.add_line
	end
lib/markdown2/markdown_html_rendering.nit:257,2--265,4