X-Git-Url: http://nitlanguage.org diff --git a/src/nitdoc.nit b/src/nitdoc.nit index 7c1dd33..159c771 100644 --- a/src/nitdoc.nit +++ b/src/nitdoc.nit @@ -23,6 +23,17 @@ import doc redef class ToolContext # Nitdoc generation phase. var docphase: Phase = new Nitdoc(self, null) + + # 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_no_attributes, opt_private) + end end # Nitdoc phase explores the model and generate pages for each mentities found @@ -30,17 +41,30 @@ private class Nitdoc super Phase redef fun process_mainmodule(mainmodule, mmodules) do - var doc = new DocModel(mainmodule.model, mainmodule) + var min_visibility = private_visibility + if not toolcontext.opt_private.value then min_visibility = protected_visibility + var accept_attribute = true + if toolcontext.opt_no_attributes.value then accept_attribute = false + + var filters = new ModelFilter( + min_visibility, + accept_attribute = accept_attribute, + accept_fictive = false) + var doc = new DocModel(mainmodule.model, mainmodule, filters) var phases = [ - new ExtractionPhase(toolcontext, doc), + new IndexingPhase(toolcontext, doc), new MakePagePhase(toolcontext, doc), new POSetPhase(toolcontext, doc), new ConcernsPhase(toolcontext, doc), new StructurePhase(toolcontext, doc), new InheritanceListsPhase(toolcontext, doc), new IntroRedefListPhase(toolcontext, doc), - new GraphPhase(toolcontext, doc): DocPhase] + new LinListPhase(toolcontext, doc), + new GraphPhase(toolcontext, doc), + new ReadmePhase(toolcontext, doc), + new RenderHTMLPhase(toolcontext, doc), + new DocTestPhase(toolcontext, doc): DocPhase] for phase in phases do toolcontext.info("# {phase.class_name}", 1)