From e2e432241ae6731b9b103f2be5012ff94e6201c8 Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Tue, 12 Jun 2018 11:54:49 -0400 Subject: [PATCH] src/doc/commands: move markdown related services from `doc_down` to `commands_md` Signed-off-by: Alexandre Terrasa --- src/doc/commands/commands_docdown.nit | 1 + src/doc/commands/commands_md.nit | 38 ++++++++++++++++++++++++++++++++- src/doc/doc_down.nit | 31 --------------------------- 3 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/doc/commands/commands_docdown.nit b/src/doc/commands/commands_docdown.nit index fe7345e..c05195b 100644 --- a/src/doc/commands/commands_docdown.nit +++ b/src/doc/commands/commands_docdown.nit @@ -17,6 +17,7 @@ module commands_docdown import commands::commands_parser import commands::commands_html +import commands::commands_md intrude import doc_down intrude import markdown::wikilinks diff --git a/src/doc/commands/commands_md.nit b/src/doc/commands/commands_md.nit index 0abb26f..f8dee5b 100644 --- a/src/doc/commands/commands_md.nit +++ b/src/doc/commands/commands_md.nit @@ -21,7 +21,7 @@ import commands_ini import commands_main import commands_usage -import doc_down +import highlight redef class DocCommand @@ -342,3 +342,39 @@ redef class CmdTesting return tpl.write_to_string end end + +# MDoc + +redef class MDoc + + # Renders the synopsis as a HTML comment block. + var md_synopsis: Writable is lazy do + if content.is_empty then return "" + return content.first + end + + # + var md_comment: Writable is lazy do + if content.is_empty then return "" + var lines = content.to_a + lines.shift + return lines.join("\n") + end + + # Renders the synopsis and the comment as a HTML comment block. + var md_documentation: Writable is lazy do return lines_to_md(content.to_a) + + private fun lines_to_md(lines: Array[String]): Writable do + var res = new Template + if not lines.is_empty then + var syn = lines.first + if not syn.has_prefix(" ") and not syn.has_prefix("\t") and + not syn.trim.has_prefix("#") then + lines.shift + res.add "# {syn}\n" + end + end + res.add lines.join("\n") + return res + end +end diff --git a/src/doc/doc_down.nit b/src/doc/doc_down.nit index 7d5c24d..1fddb06 100644 --- a/src/doc/doc_down.nit +++ b/src/doc/doc_down.nit @@ -37,12 +37,6 @@ redef class MDoc return res end - # Renders the synopsis as a HTML comment block. - var md_synopsis: Writable is lazy do - if content.is_empty then return "" - return content.first - end - # Renders the comment without the synopsis as a HTML comment block. var html_comment: Writable is lazy do var lines = content.to_a @@ -50,20 +44,9 @@ redef class MDoc return lines_to_html(lines) end - # - var md_comment: Writable is lazy do - if content.is_empty then return "" - var lines = content.to_a - lines.shift - return lines.join("\n") - end - # Renders the synopsis and the comment as a HTML comment block. var html_documentation: Writable is lazy do return lines_to_html(content.to_a) - # Renders the synopsis and the comment as a HTML comment block. - var md_documentation: Writable is lazy do return lines_to_md(content.to_a) - # Renders markdown line as a HTML comment block. private fun lines_to_html(lines: Array[String]): Writable do var res = new Template @@ -96,20 +79,6 @@ redef class MDoc decorator.current_mdoc = null return res end - - private fun lines_to_md(lines: Array[String]): Writable do - var res = new Template - if not lines.is_empty then - var syn = lines.first - if not syn.has_prefix(" ") and not syn.has_prefix("\t") and - not syn.trim.has_prefix("#") then - lines.shift - res.add "# {syn}\n" - end - end - res.add lines.join("\n") - return res - end end # The specific markdown decorator used internally to process MDoc object. -- 1.7.9.5