X-Git-Url: http://nitlanguage.org diff --git a/src/test_markdown.nit b/src/test_markdown.nit index d956656..76a5180 100644 --- a/src/test_markdown.nit +++ b/src/test_markdown.nit @@ -21,54 +21,46 @@ import markdown redef class ModelBuilder fun test_markdown(page: HTMLTag, mmodule: MModule) do - page.add_raw_html "" - page.add_raw_html "

module {mmodule}

" - if mmodule2nmodule.has_key(mmodule) then - var nmodule = mmodule2nmodule[mmodule] - do - var nmoduledecl = nmodule.n_moduledecl - if nmoduledecl == null then break label x - var ndoc = nmoduledecl.n_doc - if ndoc == null then break label x - page.add ndoc.full_markdown - end label x - for nclassdef in nmodule.n_classdefs do - var mclassdef = nclassdef.mclassdef.as(not null) - if nclassdef isa AStdClassdef then - var ndoc = nclassdef.n_doc - if ndoc != null then - if mclassdef.mclass.intro == mclassdef then page.add_raw_html "" - page.add_raw_html "

class {mclassdef}

" - page.add ndoc.full_markdown - end - end - for npropdef in nclassdef.n_propdefs do - var mpropdef = npropdef.mpropdef.as(not null) - var ndoc = npropdef.n_doc - if ndoc != null then - if mpropdef.mproperty.intro == mpropdef then page.add_raw_html "" - - page.add_raw_html "

prop {mpropdef}

" - page.add ndoc.full_markdown - end + page.add_raw_html "

module {mmodule}

" + var mdoc = mmodule.mdoc + if mdoc != null then + page.add mdoc.full_markdown + end + for mclassdef in mmodule.mclassdefs do + mdoc = mclassdef.mdoc + if mdoc != null then + page.add_raw_html "

class {mclassdef}

" + page.add mdoc.full_markdown + end + for mpropdef in mclassdef.mpropdefs do + mdoc = mpropdef.mdoc + if mdoc != null then + page.add_raw_html "
prop {mpropdef}
" + page.add mdoc.full_markdown end end end end end +redef class MModule + redef fun href do return "#{to_s}" +end +redef class MClassDef + redef fun href do return "#{to_s}" +end +redef class MPropDef + redef fun href do return "#{to_s}" +end + var toolcontext = new ToolContext var opt_full = new OptionBool("Process also imported modules", "--full") toolcontext.option_context.add_option(opt_full) +toolcontext.tooldescription = "Usage: test_markdown [OPTION]... ...\nGenerates HTML of comments of documentation from Nit source files." -toolcontext.process_options +toolcontext.process_options(args) var args = toolcontext.option_context.rest -if args.is_empty then - print "usage: test_markdown [options] file.nit..." - toolcontext.option_context.usage - return -end var model = new Model var modelbuilder = new ModelBuilder(model, toolcontext) @@ -82,6 +74,9 @@ var page = new HTMLTag("html") page.add_raw_html """ +""" +page.add_raw_html hv.head_content +page.add_raw_html """ - -""" +""" if opt_full.value then - for m in model.mmodules do - modelbuilder.test_markdown(page, m) + for p in model.mprojects do + page.add_raw_html "

project {p.name}

" + var mdoc = p.mdoc + if mdoc != null then + page.add mdoc.full_markdown + end + for g in p.mgroups do + mdoc = g.mdoc + if mdoc != null then + page.add_raw_html "

group {g.full_name}

" + page.add mdoc.full_markdown + end + for m in g.mmodules do + modelbuilder.test_markdown(page, m) + end + end end else for m in mmodules do @@ -115,5 +124,6 @@ else end end +page.add_raw_html hv.foot_content page.add_raw_html "" -print page.html +page.write_to(stdout)