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
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 IntroRedefListPhase(toolcontext, doc),
new LinListPhase(toolcontext, doc),
new GraphPhase(toolcontext, doc),
- new RenderHTMLPhase(toolcontext, doc): DocPhase]
+ new ReadmePhase(toolcontext, doc),
+ new RenderHTMLPhase(toolcontext, doc),
+ new DocTestPhase(toolcontext, doc): DocPhase]
for phase in phases do
toolcontext.info("# {phase.class_name}", 1)