var git_dir = opt_github_gitdir
var opts = [upstream.value, base_sha.value, git_dir.value]
if not opts.has_only(null) and opts.has(null) then
- print "Error: Options {upstream.names.first}, " +
+ print "Option Error: options {upstream.names.first}, " +
"{base_sha.names.first} and {git_dir.names.first} " +
"are required to enable the GitHub plugin"
exit 1
var dir = ctx.nit_dir
sharedir = dir/"share/nitdoc"
if not sharedir.file_exists then
- print "Error: Cannot locate nitdoc share files. Uses --sharedir or envvar NIT_DIR"
+ print "Error: cannot locate nitdoc share files. Uses --sharedir or envvar NIT_DIR"
abort
end
end
# Build top menu template if any.
fun init_topmenu(v: RenderHTMLPhase, doc: DocModel) do
- topmenu = new TplTopMenu(html_url)
+ topmenu = new DocTopMenu
var brand = v.ctx.opt_custom_brand.value
if brand != null then
var tpl = new Template
tpl.add "</span>"
topmenu.brand = tpl
end
- topmenu.add_link new TplLink("index.html", "Overview")
- topmenu.add_link new TplLink("search.html", "Index")
+ var title = "Overview"
+ if v.ctx.opt_custom_title.value != null then
+ title = v.ctx.opt_custom_title.value.to_s
+ end
+ topmenu.add_li new ListItem(new Link("index.html", title))
+ topmenu.add_li new ListItem(new Link("search.html", "Index"))
+ topmenu.active_item = topmenu.items.first
end
# Build page sidebar if any.
var ssection = new TplSection.with_title("projects", "Projects")
for mproject in mprojects do
var sarticle = mproject.tpl_article
- sarticle.subtitle = mproject.tpl_declaration
+ sarticle.subtitle = mproject.html_declaration
sarticle.content = mproject.tpl_definition
var mdoc = mproject.mdoc_or_fallback
if mdoc != null then
redef class SearchPage
redef var html_url = "search.html"
redef fun init_title(v, doc) do title = "Index"
+
+ redef fun init_topmenu(v, doc) do
+ super
+ topmenu.active_item = topmenu.items.last
+ end
+
redef fun init_sidebar(v, doc) do end
# TODO this should be done in StructurePhase.
tpl.title = "Index"
# modules list
for mmodule in modules_list(v, doc) do
- tpl.modules.add mmodule.tpl_link
+ tpl.modules.add mmodule.html_link
end
# classes list
for mclass in classes_list(v, doc) do
- tpl.classes.add mclass.tpl_link
+ tpl.classes.add mclass.html_link
end
# properties list
for mproperty in mprops_list(v, doc) do
var m = new Template
- m.add mproperty.intro.tpl_link
+ m.add mproperty.intro.html_link
m.add " ("
- m.add mproperty.intro.mclassdef.mclass.tpl_link
+ m.add mproperty.intro.mclassdef.mclass.html_link
m.add ")"
tpl.props.add m
end
redef class MEntityPage
redef var html_url is lazy do return mentity.nitdoc_url
- redef fun init_title(v, doc) do title = mentity.nitdoc_name
+ redef fun init_title(v, doc) do title = mentity.html_name
redef fun init_content(v, doc) do add_section root.start_rendering(v, doc, self)
end
super
var mproject = mentity.mproject
if not mentity.is_root then
- topmenu.add_link new TplLink(mproject.nitdoc_url, mproject.nitdoc_name)
+ topmenu.add_li new ListItem(new Link(mproject.nitdoc_url, mproject.html_name))
end
- topmenu.add_link new TplLink(html_url, mproject.nitdoc_name)
+ topmenu.add_li new ListItem(new Link(html_url, mproject.html_name))
+ topmenu.active_item = topmenu.items.last
end
redef fun init_sidebar(v, doc) do
end
var lnk = new Template
lnk.add new TplLabel.with_classes(classes)
- lnk.add def.tpl_link
+ lnk.add def.html_link
return new TplListItem.with_content(lnk)
end
end
redef fun init_topmenu(v, doc) do
super
var mproject = mentity.mproject
- topmenu.add_link new TplLink(mproject.nitdoc_url, mproject.nitdoc_name)
- topmenu.add_link new TplLink(mentity.nitdoc_url, mentity.nitdoc_name)
+ topmenu.add_li new ListItem(new Link(mproject.nitdoc_url, mproject.html_name))
+ topmenu.add_li new ListItem(new Link(mentity.nitdoc_url, mentity.html_name))
+ topmenu.active_item = topmenu.items.last
end
# Class list to display in sidebar
end
var lnk = new Template
lnk.add new TplLabel.with_classes(classes)
- lnk.add def.tpl_link
+ lnk.add def.html_link
return new TplListItem.with_content(lnk)
end
end
redef class MClassPage
- redef fun init_title(v, doc) do
- title = "{mentity.nitdoc_name}{mentity.tpl_signature.write_to_string}"
- end
-
redef fun init_topmenu(v, doc) do
super
var mproject = mentity.intro_mmodule.mgroup.mproject
- topmenu.add_link new TplLink("{mproject.nitdoc_url}", "{mproject.nitdoc_name}")
- topmenu.add_link new TplLink(html_url, mentity.nitdoc_name)
+ topmenu.add_li new ListItem(new Link(mproject.nitdoc_url, mproject.html_name))
+ topmenu.add_li new ListItem(new Link(html_url, mentity.html_name))
+ topmenu.active_item = topmenu.items.last
end
redef fun init_sidebar(v, doc) do
classes.add "inherit"
var cls_url = mprop.intro.mclassdef.mclass.nitdoc_url
var def_url = "{cls_url}#{mprop.nitdoc_id}"
- var lnk = new TplLink(def_url, mprop.nitdoc_name)
+ var lnk = new TplLink(def_url, mprop.html_name)
var mdoc = mprop.intro.mdoc_or_fallback
if mdoc != null then lnk.title = mdoc.short_comment
var item = new Template
end
var lnk = new Template
lnk.add new TplLabel.with_classes(classes)
- lnk.add mprop.tpl_anchor
+ lnk.add mprop.html_link_to_anchor
return new TplListItem.with_content(lnk)
end
redef class MPropertyPage
redef fun init_title(v, doc) do
- title = "{mentity.nitdoc_name}{mentity.tpl_signature.write_to_string}"
+ title = "{mentity.html_name}{mentity.html_short_signature.write_to_string}"
end
redef fun init_topmenu(v, doc) do
var mmodule = mentity.intro_mclassdef.mmodule
var mproject = mmodule.mgroup.mproject
var mclass = mentity.intro_mclassdef.mclass
- topmenu.add_link new TplLink("{mproject.nitdoc_url}", "{mproject.nitdoc_name}")
- topmenu.add_link new TplLink("{mclass.nitdoc_url}", "{mclass.nitdoc_name}")
- topmenu.add_link new TplLink(html_url, mentity.nitdoc_name)
+ topmenu.add_li new ListItem(new Link(mproject.nitdoc_url, mproject.html_name))
+ topmenu.add_li new ListItem(new Link(mclass.nitdoc_url, mclass.html_name))
+ topmenu.add_li new ListItem(new Link(html_url, mentity.html_name))
+ topmenu.active_item = topmenu.items.last
end
end
fun start_rendering(v: RenderHTMLPhase, doc: DocModel, page: MEntityPage): TplSection do
var section = new TplSection("top")
var mentity = page.mentity
- section.title = mentity.nitdoc_name
- section.subtitle = mentity.tpl_declaration
+ section.title = mentity.html_name
+ section.subtitle = mentity.html_declaration
# FIXME ugly hack to avoid diff
if mentity isa MGroup and mentity.is_root then
- section.title = mentity.mproject.nitdoc_name
- section.subtitle = mentity.mproject.tpl_declaration
- else if mentity isa MClass then
- section.title = "{mentity.nitdoc_name}{mentity.tpl_signature.write_to_string}"
+ section.title = mentity.mproject.html_name
+ section.subtitle = mentity.mproject.html_declaration
else if mentity isa MProperty then
- section.title = "{mentity.nitdoc_name}{mentity.intro.tpl_signature.write_to_string}"
- section.subtitle = mentity.tpl_namespace
- section.summary_title = mentity.nitdoc_name
+ section.title = "{mentity.html_name}{mentity.intro.html_signature.write_to_string}"
+ section.subtitle = mentity.html_namespace
+ section.summary_title = mentity.html_name
end
render(v, doc, page, section)
return section
var title = new Template
if mmodule == page.mentity then
title.add "in "
- section.summary_title = "in {mmodule.nitdoc_name}"
+ section.summary_title = "in {mmodule.html_name}"
else
title.add "from "
- section.summary_title = "from {mmodule.nitdoc_name}"
+ section.summary_title = "from {mmodule.html_name}"
end
- title.add mmodule.tpl_namespace
+ title.add mmodule.html_namespace
section.title = title
end
private fun render_concern_other(page: MEntityPage, section: TplSection, mmodule: MModule) do
var title = new Template
title.add "in "
- title.add mmodule.tpl_namespace
+ title.add mmodule.html_namespace
section.title = title
- section.summary_title = "in {mmodule.nitdoc_name}"
+ section.summary_title = "in {mmodule.html_name}"
+ end
+end
+
+redef class MEntitySection
+ redef fun render(v, doc, page, parent) do
+ for child in children do child.render(v, doc, page, parent)
end
end
else if mentity isa MPropDef then
article.source_link = v.tpl_showsource(mentity.location)
end
- # article.subtitle = mentity.tpl_declaration
+ # article.subtitle = mentity.html_declaration
# FIXME diff hack
if mentity isa MProperty then
# intro title
- var ns = mentity.intro.mclassdef.mmodule.tpl_namespace
+ var ns = mentity.intro.mclassdef.mmodule.html_namespace
var section = new TplSection("intro")
var title = new Template
title.add "Introduction in "
# FIXME hideous hacks...
if mentity isa MModule then
article = mentity.tpl_article
- article.subtitle = mentity.tpl_declaration
+ article.subtitle = mentity.html_declaration
article.content = mentity.tpl_definition
else if mentity isa MClass then
article = make_mclass_article(v, page)
article = make_mpropdef_article(v, doc, page)
else
article = mentity.tpl_article
- article.subtitle = mentity.tpl_declaration
+ article.subtitle = mentity.html_declaration
if mentity isa MPropDef then
article.source_link = v.tpl_showsource(mentity.location)
end
private fun make_mclass_article(v: RenderHTMLPhase, page: MEntityPage): TplArticle do
var article = mentity.tpl_article
- article.subtitle = mentity.tpl_namespace
+ article.subtitle = mentity.html_namespace
article.content = null
return article
end
end
var title = new Template
title.add "in "
- title.add mclassdef.mmodule.tpl_namespace
+ title.add mclassdef.mmodule.html_namespace
article.subtitle = title
return article
end
title.add mprop.tpl_icon
title.add "<span id='{mpropdef.nitdoc_id}'></span>"
if mpropdef.is_intro then
- title.add mprop.tpl_link
- title.add mprop.intro.tpl_signature
+ title.add mprop.html_link
+ title.add mprop.intro.html_signature
else
var cls_url = mprop.intro.mclassdef.mclass.nitdoc_url
var def_url = "{cls_url}#{mprop.nitdoc_id}"
- var lnk = new TplLink.with_title(def_url, mprop.nitdoc_name,
+ var lnk = new TplLink.with_title(def_url, mprop.html_name,
"Go to introduction")
title.add "redef "
title.add lnk
end
article.title = title
article.title_classes.add "signature"
- article.summary_title = "{mprop.nitdoc_name}"
- article.subtitle = mpropdef.tpl_namespace
+ article.summary_title = "{mprop.html_name}"
+ article.subtitle = mpropdef.html_namespace
if mpropdef.mdoc_or_fallback != null then
article.content = mpropdef.mdoc_or_fallback.tpl_comment
end