import commands::commands_graph
import commands::commands_usage
+import commands::commands_ini
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
cmd.init_command
print_html cmd.to_html
end
+
+ # CmdIni
+
+ fun test_cmd_ini_desc is test do
+ var cmd = new CmdIniDescription(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_git is test do
+ var cmd = new CmdIniGitUrl(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_clone is test do
+ var cmd = new CmdIniCloneCommand(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_issues is test do
+ var cmd = new CmdIniIssuesUrl(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_maintainer is test do
+ var cmd = new CmdIniMaintainer(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_contributors is test do
+ var cmd = new CmdIniContributors(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_license is test do
+ var cmd = new CmdIniLicense(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_license_file is test do
+ var cmd = new CmdLicenseFile(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ cmd.file = cmd.file.as(not null).basename # for testing path
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_license_file_content is test do
+ var cmd = new CmdLicenseFileContent(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ cmd.file = cmd.file.as(not null).basename # for testing path
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_contrib_file is test do
+ var cmd = new CmdContribFile(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ cmd.file = cmd.file.as(not null).basename # for testing path
+ print_html cmd.to_html
+ end
+
+ fun test_cmd_ini_contrib_file_content is test do
+ var cmd = new CmdContribFileContent(test_view, mentity_name = "test_prog")
+ cmd.init_command
+ cmd.file = cmd.file.as(not null).basename # for testing path
+ print_html cmd.to_html
+ end
end