+ # MProject description template
+ fun tpl_mproject_article(mproject: MProject): TplArticle do
+ var article = mproject.tpl_article
+ article.subtitle = mproject.tpl_declaration
+ article.content = mproject.tpl_definition
+ if mproject.mdoc != null then
+ article.content = mproject.mdoc.tpl_short_comment
+ end
+ return article
+ end
+
+ # MGroup description template
+ fun tpl_mgroup_article(mgroup: MGroup): TplArticle do
+ var article = mgroup.tpl_article
+ article.subtitle = mgroup.tpl_declaration
+ article.content = mgroup.tpl_definition
+ return article
+ end
+
+ # MModule description template
+ fun tpl_mmodule_article(mmodule: MModule): TplArticle do
+ var article = mmodule.tpl_article
+ article.subtitle = mmodule.tpl_declaration
+ article.content = mmodule.tpl_definition
+ # mclassdefs list
+ var intros = mmodule.intro_mclassdefs(ctx.min_visibility).to_a
+ ctx.mainmodule.linearize_mclassdefs(intros)
+ var intros_art = new TplArticle.with_title("{mmodule.nitdoc_id}_intros", "Introduces")
+ var intros_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
+ for mclassdef in intros do
+ intros_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
+ end
+ if not intros_lst.is_empty then
+ intros_art.content = intros_lst
+ article.add_child intros_art
+ end
+ var redefs = mmodule.redef_mclassdefs(ctx.min_visibility).to_a
+ ctx.mainmodule.linearize_mclassdefs(redefs)
+ var redefs_art = new TplArticle.with_title("{mmodule.nitdoc_id}_redefs", "Redefines")
+ var redefs_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
+ for mclassdef in redefs do
+ redefs_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
+ end
+ if not redefs_lst.is_empty then
+ redefs_art.content = redefs_lst
+ article.add_child redefs_art
+ end
+ return article
+ end
+