From: Alexandre Terrasa Date: Fri, 24 Apr 2015 03:02:18 +0000 (-0400) Subject: src/doc: fix anchor url following the rendering migration X-Git-Tag: v0.7.5~77^2 X-Git-Url: http://nitlanguage.org src/doc: fix anchor url following the rendering migration Signed-off-by: Alexandre Terrasa --- diff --git a/src/doc/doc_phases/doc_html.nit b/src/doc/doc_phases/doc_html.nit index a3fbf07..3ee3379 100644 --- a/src/doc/doc_phases/doc_html.nit +++ b/src/doc/doc_phases/doc_html.nit @@ -379,7 +379,7 @@ redef class MClassPage if not mprop_is_local(mprop) then classes.add "inherit" var cls_url = mprop.intro.mclassdef.mclass.nitdoc_url - var def_url = "{cls_url}#{mprop.nitdoc_id}" + var def_url = "{cls_url}#article:{mprop.nitdoc_id}.definition" var lnk = new Link(def_url, mprop.html_name) var mdoc = mprop.intro.mdoc_or_fallback if mdoc != null then lnk.title = mdoc.short_comment @@ -393,12 +393,28 @@ redef class MClassPage else classes.add "redef" end + var def = select_mpropdef(mprop) + var anc = def.html_link_to_anchor + anc.href = "#article:{def.nitdoc_id}.definition" var lnk = new Template lnk.add new DocHTMLLabel.with_classes(classes) - lnk.add mprop.html_link_to_anchor + lnk.add anc return new ListItem(lnk) end + # Get the mpropdef contained in `self` page for a mprop. + # + # FIXME this method is used to translate a mprop into a mpropdefs for + # section linking. A better page structure should avoid this... + private fun select_mpropdef(mprop: MProperty): MPropDef do + for mclassdef in mentity.mclassdefs do + for mpropdef in mclassdef.mpropdefs do + if mpropdef.mproperty == mprop then return mpropdef + end + end + abort # FIXME is there a case where the prop is not found? + end + private fun mclass_inherited_mprops(v: RenderHTMLPhase, doc: DocModel): Set[MProperty] do var res = new HashSet[MProperty] var local = mentity.local_mproperties(v.ctx.min_visibility) @@ -473,7 +489,11 @@ redef class ConcernSection redef fun init_html_render(v, doc, page) do if not page isa MEntityPage then return var mentity = self.mentity - if page.mentity isa MModule and mentity isa MModule then + if page isa MGroupPage then + html_title = null + toc_title = mentity.html_name + is_toc_hidden = false + else if page.mentity isa MModule and mentity isa MModule then var title = new Template if mentity == page.mentity then title.add "in " @@ -560,6 +580,9 @@ redef class DefinitionArticle end html_source_link = v.html_source_link(mentity.location) end + if page isa MGroupPage and mentity isa MModule then + is_toc_hidden = true + end super end end diff --git a/src/doc/doc_phases/doc_indexing.nit b/src/doc/doc_phases/doc_indexing.nit index 2f1151f..3e71df2 100644 --- a/src/doc/doc_phases/doc_indexing.nit +++ b/src/doc/doc_phases/doc_indexing.nit @@ -43,7 +43,7 @@ class IndexingPhase if not doc.mpropdefs.has(mpropdef) then continue var full_name = mpropdef.mclassdef.mclass.full_name var cls_url = mpropdef.mclassdef.mclass.nitdoc_url - var def_url = "{cls_url}#{mpropdef.mproperty.nitdoc_id}" + var def_url = "{cls_url}#article:{mpropdef.nitdoc_id}.definition" add_result_for(mproperty.name, full_name, def_url) end end diff --git a/src/doc/doc_phases/doc_structure.nit b/src/doc/doc_phases/doc_structure.nit index 9f64395..1c6b432 100644 --- a/src/doc/doc_phases/doc_structure.nit +++ b/src/doc/doc_phases/doc_structure.nit @@ -91,11 +91,11 @@ redef class MGroupPage mentity.booster_rank = 0 section.add_child new ConcernsArticle(mentity, concerns) for mentity in concerns do + var ssection = new ConcernSection(mentity) if mentity isa MModule then - section.add_child new DefinitionArticle(mentity) - else - section.add_child new ConcernSection(mentity) + ssection.add_child new DefinitionArticle(mentity) end + section.add_child ssection end end end diff --git a/src/doc/html_templates/html_model.nit b/src/doc/html_templates/html_model.nit index 2118bfa..c112e25 100644 --- a/src/doc/html_templates/html_model.nit +++ b/src/doc/html_templates/html_model.nit @@ -669,7 +669,7 @@ redef class MConcern private fun html_concern_item: ListItem do var lnk = html_link var tpl = new Template - tpl.add new Link.with_title("#{nitdoc_id}", lnk.text, lnk.title) + tpl.add new Link.with_title("#concern:{nitdoc_id}", lnk.text, lnk.title) var comment = html_short_comment if comment != null then tpl.add ": " diff --git a/src/doc/html_templates/html_templates.nit b/src/doc/html_templates/html_templates.nit index cc5f9f4..83f6a36 100644 --- a/src/doc/html_templates/html_templates.nit +++ b/src/doc/html_templates/html_templates.nit @@ -349,7 +349,7 @@ redef class DocArticle end redef class HomeArticle - redef var html_id = "intro" + redef var html_id = "article:home" redef var html_title = "Overview" # HTML content to display on the home page. @@ -365,7 +365,7 @@ redef class HomeArticle end redef class IndexArticle - redef var html_id = "index" + redef var html_id = "article:index" redef var html_title = "Index" redef fun is_empty do return mmodules.is_empty and mclasses.is_empty and mprops.is_empty @@ -405,7 +405,7 @@ redef class IndexArticle end redef class ProjectsSection - redef var html_id = "projects" + redef var html_id = "section:projects" redef var html_title = "Projects" end @@ -415,29 +415,29 @@ redef class MEntityComposite end redef class MEntitySection - redef var html_id is lazy do return "section_{mentity.nitdoc_name}" + redef var html_id is lazy do return "section:{mentity.nitdoc_name}" redef var html_title is lazy do return mentity.html_name redef var html_subtitle is lazy do return mentity.html_declaration end redef class ConcernSection - redef var html_id is lazy do return "section_concerns_{mentity.nitdoc_id}" + redef var html_id is lazy do return "concern:{mentity.nitdoc_id}" redef var html_title is lazy do return "in {mentity.nitdoc_name}" redef fun is_toc_hidden do return is_empty end redef class ImportationListSection - redef var html_id is lazy do return "section_dependancies_{mentity.nitdoc_id}" + redef var html_id is lazy do return "section:{mentity.nitdoc_id}.importation" redef var html_title is lazy do return "Dependencies" end redef class InheritanceListSection - redef var html_id is lazy do return "section_inheritance_{mentity.nitdoc_id}" + redef var html_id is lazy do return "section:{mentity.nitdoc_id}.inheritance" redef var html_title is lazy do return "Inheritance" end redef class IntroArticle - redef var html_id is lazy do return "article_intro_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.intro" redef var html_title = null redef var is_hidden = false redef var is_toc_hidden = true @@ -463,14 +463,14 @@ redef class IntroArticle end redef class ConcernsArticle - redef var html_id is lazy do return "article_concerns_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.concerns" redef var html_title = "Concerns" redef fun is_hidden do return concerns.is_empty redef fun render_body do add concerns.html_list end redef class DefinitionArticle - redef var html_id is lazy do return "article_definition_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.definition" redef var html_title is lazy do return mentity.html_name redef var html_subtitle is lazy do return mentity.html_declaration redef var is_hidden = false @@ -513,7 +513,7 @@ redef class DefinitionArticle end redef class HierarchyListArticle - redef var html_id is lazy do return "article_hierarchy_{list_title}_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{list_title}_{mentity.nitdoc_id}.hierarchy" redef var html_title is lazy do return list_title redef fun is_empty do return mentities.is_empty redef fun is_toc_hidden do return mentities.is_empty @@ -529,7 +529,7 @@ redef class HierarchyListArticle end redef class IntrosRedefsListArticle - redef var html_id is lazy do return "article_intros_redefs_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.intros_redefs" redef var html_title is lazy do return list_title redef fun is_hidden do return mentities.is_empty redef var is_toc_hidden = true @@ -545,7 +545,7 @@ redef class IntrosRedefsListArticle end redef class DefinitionLinArticle - redef var html_id is lazy do return "article_lin_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.lin" redef var html_title is lazy do return "Linearization" redef fun is_hidden do return mentities.is_empty redef var is_toc_hidden = true @@ -571,7 +571,7 @@ redef class DefinitionLinArticle end redef class GraphArticle - redef var html_id is lazy do return "article_graph_{mentity.nitdoc_id}" + redef var html_id is lazy do return "article:{mentity.nitdoc_id}.graph" redef var html_title = null redef var toc_title do return "Graph" redef var is_hidden = false