import commands::commands_graph
import commands::commands_usage
+import commands::commands_ini
+import commands::commands_main
import templates::templates_html
import doc_down
return output.write_to_string
end
end
+
+# Ini commands
+
+redef class CmdIniDescription
+ redef fun to_html do
+ var desc = self.desc
+ if desc == null then return ""
+
+ return "<p>{desc}</p>"
+ end
+end
+
+redef class CmdIniGitUrl
+ redef fun to_html do
+ var url = self.url
+ if url == null then return ""
+
+ return "<a href=\"{url}\">{url}</a>"
+ end
+end
+
+redef class CmdIniCloneCommand
+ redef fun to_html do
+ var command = self.command
+ if command == null then return ""
+
+ return "<pre>{command}</pre>"
+ end
+end
+
+redef class CmdIniIssuesUrl
+ redef fun to_html do
+ var url = self.url
+ if url == null then return ""
+
+ return "<a href=\"{url}\">{url}</a>"
+ end
+end
+
+redef class CmdIniMaintainer
+ redef fun to_html do
+ var name = self.maintainer
+ if name == null then return ""
+
+ return "<b>{name.html_escape}</b>"
+ end
+end
+
+redef class CmdIniContributors
+ redef fun to_html do
+ var names = self.contributors
+ if names == null or names.is_empty then return ""
+
+ var tpl = new Template
+ tpl.add "<ul>"
+ for name in names do
+ tpl.add "<li><b>{name.html_escape}</b></li>"
+ end
+ tpl.add "</ul>"
+ return tpl.write_to_string
+ end
+end
+
+redef class CmdIniLicense
+ redef fun to_html do
+ var license = self.license
+ if license == null then return ""
+
+ return "<a href=\"https://opensource.org/licenses/{license}\">{license}</a>"
+ end
+end
+
+redef class CmdEntityFile
+
+ # URL to the file
+ #
+ # Can be refined in subtools.
+ var file_url: nullable String = file is lazy, writable
+
+ redef fun to_html do
+ var file = self.file
+ if file == null then return ""
+
+ return "<a href=\"{file_url or else ""}\">{file.basename}</a>"
+ end
+end
+
+redef class CmdEntityFileContent
+ redef fun to_html do
+ var content = self.content
+ if content == null then return ""
+
+ return "<pre>{content}</pre>"
+ end
+end
+
+# Main commands
+
+redef class CmdMains
+ redef fun to_html do return super # FIXME lin
+end
+
+redef class CmdMainCompile
+ redef fun to_html do
+ var command = self.command
+ if command == null then return ""
+
+ return "<pre>{command}</pre>"
+ end
+end
+
+redef class CmdManSynopsis
+ redef fun to_html do
+ var synopsis = self.synopsis
+ if synopsis == null then return ""
+
+ return "<pre>{synopsis}</pre>"
+ end
+end
+
+redef class CmdManOptions
+ redef fun to_html do
+ var options = self.options
+ if options == null or options.is_empty then return ""
+
+ var tpl = new Template
+ tpl.addn "<pre>"
+ tpl.addn "<table width='100%'>"
+ for opt, desc in options do
+ tpl.addn "<tr>"
+ tpl.addn "<th valign='top' width='30%'>{opt}</th>"
+ tpl.addn "<td width='70%'>{desc}</td>"
+ tpl.addn "</tr>"
+ end
+ tpl.addn "</table>"
+ tpl.addn "</pre>"
+
+ return tpl.write_to_string
+ end
+end
+
+redef class CmdTesting
+ redef fun to_html do
+ var command = self.command
+ if command == null then return ""
+
+ return "<pre>{command}</pre>"
+ end
+end
+
+# Misc
+
+redef class CmdHtmlightVisitor
+ redef fun hrefto(mentity) do
+ if mentity isa MClassDef then return mentity.mclass.html_url
+ if mentity isa MPropDef then return mentity.mproperty.html_url
+ return mentity.html_url
+ end
+end