src/doc/api: add links to renderer code
[nit.git] / src / doc / doc_phases / doc_pages.nit
index f255e42..ec06f6a 100644 (file)
@@ -15,7 +15,7 @@
 # Create DocPage instances for each documentated Mentity.
 module doc_pages
 
-import doc_extract
+import doc_base
 
 # ExtractionPhase populates the DocModel with DocPage.
 class MakePagePhase
@@ -23,19 +23,20 @@ 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
@@ -65,6 +66,14 @@ class MEntityPage
        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