- sys.system("\{ test -f {path_sh}.png && test -f {path_sh}.s.dot && diff -- {path_sh}.dot {path_sh}.s.dot >/dev/null 2>&1 ; \} || \{ cp -- {path_sh}.dot {path_sh}.s.dot && dot -Tpng -o{path_sh}.png -Tcmapx -o{path_sh}.map {path_sh}.s.dot ; \}")
- var fmap = new FileReader.open("{path}.map")
- var map = fmap.read_all
- fmap.close
-
- var article = new TplArticle("graph")
- var alt = ""
- # FIXME diff hack
- # if title != null then
- # article.title = title
- # alt = "alt='{title.html_escape}'"
- # end
- article.css_classes.add "text-center"
- var content = new Template
- var name_html = id.html_escape
- content.add "<img src='{name_html}.png' usemap='#{name_html}' style='margin:auto' {alt}/>"
- content.add map
- article.content = content
- parent.add_child article
- end
-end
-
-redef class Location
- # Github url based on this location
- fun github(gitdir: String): String do
- var base_dir = getcwd.join_path(gitdir).simplify_path
- var file_loc = getcwd.join_path(file.filename).simplify_path
- var gith_loc = file_loc.substring(base_dir.length + 1, file_loc.length)
- return "{gith_loc}:{line_start},{column_start}--{line_end},{column_end}"
- end
-end
-
-redef class MEntity
- # A li element that can go in a list
- fun tpl_list_item: TplListItem do
- var lnk = new Template
- lnk.add new TplLabel.with_classes(css_classes)
- lnk.add html_link
- var comment = html_short_comment
- if comment != null then
- lnk.add ": "
- lnk.add comment
- end
- return new TplListItem.with_content(lnk)
- end
-end
-
-redef class MPropDef
- redef fun tpl_list_item do
- var lnk = new Template
- lnk.add new TplLabel.with_classes(css_classes)
- var atext = html_link.text
- var ahref = "{mclassdef.mclass.nitdoc_url}#{mproperty.nitdoc_id}"
- var atitle = html_link.title
- var anchor = new Link.with_title(ahref, atext, atitle)
- lnk.add anchor
- var comment = html_short_comment
- if comment != null then
- lnk.add ": "
- lnk.add comment
- end
- return new TplListItem.with_content(lnk)
- end
-
- #
- fun tpl_inheritance_item: TplListItem do
- var lnk = new Template
- lnk.add new TplLabel.with_classes(css_classes)
- lnk.add mclassdef.mmodule.html_namespace
- lnk.add "::"
- var atext = mclassdef.html_link.text
- var ahref = "{mclassdef.mclass.nitdoc_url}#{mproperty.nitdoc_id}"
- var atitle = mclassdef.html_link.title
- var anchor = new Link.with_title(ahref, atext, atitle)
- lnk.add anchor
- var comment = html_short_comment
- if comment != null then
- lnk.add ": "
- lnk.add comment
- end
- var li = new TplListItem.with_content(lnk)
- li.css_classes.add "signature"
- return li