From 844492b6a7c806ef998eff15514b6a50450e12a2 Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Mon, 23 Oct 2017 23:37:44 -0400 Subject: [PATCH] doc/commands: introduce html rendering for commands Signed-off-by: Alexandre Terrasa --- src/doc/commands/commands_html.nit | 123 ++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/doc/commands/commands_html.nit diff --git a/src/doc/commands/commands_html.nit b/src/doc/commands/commands_html.nit new file mode 100644 index 0000000..ce5d89a --- /dev/null +++ b/src/doc/commands/commands_html.nit @@ -0,0 +1,123 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Render commands results as HTML +module commands_html + +import commands::commands_graph +import commands::commands_usage + +import templates::templates_html +import doc_down +import highlight + +redef class DocCommand + + # Render results as a HTML string + fun to_html: Writable do return "

Not yet implemented

" +end + +redef class CmdMessage + + # Render the message as a HTML string + fun to_html: Writable is abstract +end + +redef class CmdError + redef fun to_html do return "

Error: {to_s}

" +end + +redef class CmdWarning + redef fun to_html do return "

Warning: {to_s}

" +end + +# Model commands + +redef class CmdEntity + redef fun to_html do + var mentity = self.mentity + if mentity == null then return "" + return mentity.html_link + end +end + +redef class CmdEntities + redef fun to_html do + var mentities = self.results + if mentities == null then return "" + + var tpl = new Template + tpl.add "" + return tpl.write_to_string + end +end + +redef class CmdComment + redef fun to_html do + var mentity = self.mentity + if mentity == null then return "" + + var mdoc = self.mdoc + var tpl = new Template + tpl.add "

" + # FIXME comments left here until I figure out what to do about the presentation options + # if not opts.has_key("no-link") then + tpl.add mentity.html_link + # end + if mdoc != null then + # if not opts.has_key("no-link") and not opts.has_key("no-synopsis") then + tpl.add " - " + # end + # if not opts.has_key("no-synopsis") then + tpl.add mdoc.html_synopsis + # end + end + tpl.add "

" + if mdoc != null then + # if not opts.has_key("no-comment") then + tpl.add mdoc.html_comment + # end + end + return tpl.write_to_string + end +end + +redef class CmdCode + redef fun to_html do + var output = render + if output == null then return "" + return "
{output.write_to_string}
" + end +end + +# Graph commands + +redef class CmdGraph + redef fun to_html do + var output = render + if output == null then return "" + return output.write_to_string + end +end -- 1.7.9.5