X-Git-Url: http://nitlanguage.org diff --git a/src/nitdoc.nit b/src/nitdoc.nit index 1e6059b..801e715 100644 --- a/src/nitdoc.nit +++ b/src/nitdoc.nit @@ -19,18 +19,20 @@ module nitdoc import modelbuilder import doc -import counter redef class ToolContext # Nitdoc generation phase. var docphase: Phase = new Nitdoc(self, null) - # File pattern used to link documentation to source code. - var opt_test = new OptionBool("print test data", "--test") + # Do not generate documentation for attributes. + var opt_no_attributes = new OptionBool("Ignore the attributes", "--no-attributes") + + # Do not generate documentation for private properties. + var opt_private = new OptionBool("Also generate private API", "--private") redef init do super - option_context.add_option(opt_test) + option_context.add_option(opt_no_attributes, opt_private) end end @@ -40,9 +42,10 @@ private class Nitdoc redef fun process_mainmodule(mainmodule, mmodules) do var doc = new DocModel(mainmodule.model, mainmodule) + if not toolcontext.opt_private.value then doc.min_visibility = protected_visibility + if not toolcontext.opt_no_attributes.value then doc.include_attribute = false var phases = [ - new ExtractionPhase(toolcontext, doc), new IndexingPhase(toolcontext, doc), new MakePagePhase(toolcontext, doc), new POSetPhase(toolcontext, doc), @@ -53,33 +56,13 @@ private class Nitdoc new LinListPhase(toolcontext, doc), new GraphPhase(toolcontext, doc), new ReadmePhase(toolcontext, doc), - new RenderHTMLPhase(toolcontext, doc): DocPhase] + new RenderHTMLPhase(toolcontext, doc), + new DocTestPhase(toolcontext, doc): DocPhase] for phase in phases do toolcontext.info("# {phase.class_name}", 1) phase.apply end - - if toolcontext.opt_test.value then - # Pages metrics - var page_counter = new Counter[String] - var pages = doc.pages.keys.to_a - default_comparator.sort(pages) - for title in pages do - var page = doc.pages[title] - page_counter.inc page.class_name - print page.pretty_print.write_to_string - end - print "Generated {doc.pages.length} pages" - page_counter.print_elements(100) - # Model metrics - var model_counter = new Counter[String] - for mentity in doc.mentities do - model_counter.inc mentity.class_name - end - print "Found {doc.mentities.length} mentities" - model_counter.print_elements(100) - end end end