# Create DocPage instances for each documentated Mentity.
module doc_pages
-import doc_extract
+import doc_base
# ExtractionPhase populates the DocModel with DocPage.
class MakePagePhase
# Instanciates documentation pages for the given DocModel.
redef fun apply do
- doc.pages.add new OverviewPage("Overview")
- doc.pages.add new SearchPage("Index")
- for mgroup in doc.mgroups do
- doc.pages.add new MGroupPage(mgroup.nitdoc_name, mgroup)
+ doc.add_page new OverviewPage("overview", "Overview")
+ doc.add_page new SearchPage("search", "Index")
+ for mgroup in doc.model.collect_mgroups(doc.filter) do
+ doc.add_page new ReadmePage(mgroup)
+ doc.add_page new MGroupPage(mgroup)
end
- for mmodule in doc.mmodules do
- doc.pages.add new MModulePage(mmodule.nitdoc_name, mmodule)
+ for mmodule in doc.model.mmodules do
+ doc.add_page new MModulePage(mmodule)
end
- for mclass in doc.mclasses do
- doc.pages.add new MClassPage(mclass.nitdoc_name, mclass)
+ for mclass in doc.model.mclasses do
+ doc.add_page new MClassPage(mclass)
end
- for mproperty in doc.mproperties do
- doc.pages.add new MPropertyPage(mproperty.nitdoc_name, mproperty)
+ for mproperty in doc.model.mproperties do
+ doc.add_page new MPropertyPage(mproperty)
end
end
end
# A DocPage documenting a MEntity.
class MEntityPage
+ autoinit mentity
super DocPage
# Type of MEntity documented by this page.
# MEntity documented by this page.
var mentity: MENTITY
+
+ redef var id is lazy do return mentity.nitdoc_id
+ redef var title is lazy do return mentity.nitdoc_name
+end
+
+# A page that displays a `MGroup` README.
+class ReadmePage
+ super MEntityPage
+
+ redef type MENTITY: MGroup
+ redef var id is lazy do return "readme_{mentity.nitdoc_id}"
end
# A documentation page about a MGroup.