# 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", "Overview")
- doc.pages.add new SearchPage("search", "Index")
- for mgroup in doc.mgroups do
- doc.pages.add new MGroupPage(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)
+ 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)
+ 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)
+ for mproperty in doc.model.mproperties do
+ doc.add_page new MPropertyPage(mproperty)
end
end
end
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.
class MGroupPage
super MEntityPage