aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2020-09-18 15:00:16 -0400
committerAlexander Pickering <alex@cogarr.net>2020-09-18 15:00:16 -0400
commit9940b5ab62df3adb91e78ebe6905125be6e6f4e7 (patch)
tree75f5d960fb7a032d01fc4e7432f6525d9ae7b27a
parent8252fc216c21a1dba63296ccd741fe1c4a943e5b (diff)
downloadmdoc-9940b5ab62df3adb91e78ebe6905125be6e6f4e7.tar.gz
mdoc-9940b5ab62df3adb91e78ebe6905125be6e6f4e7.tar.bz2
mdoc-9940b5ab62df3adb91e78ebe6905125be6e6f4e7.zip
Add asserts for rendering.
Add a few asserts for rendering for debugging help.
-rw-r--r--share/page.etlua.lua192
1 files changed, 98 insertions, 94 deletions
diff --git a/share/page.etlua.lua b/share/page.etlua.lua
index b1bad23..e67d161 100644
--- a/share/page.etlua.lua
+++ b/share/page.etlua.lua
@@ -1,94 +1,98 @@
-return [[
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
- <head>
- <title><%- options.title %></title>
- <link rel="stylesheet" href="style.css" type="text/css">
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/styles/default.min.css">
- <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/highlight.min.js"></script>
- <script>hljs.initHighlightingOnLoad();</script>
- </head>
- <body>
- <%- navbar %>
- <article>
- <% if header.data_file then %>
- <% local reffd = io.open(header.data_file,"r") %>
- <p><%- reffd:read("*a") %>
- <% reffd:close() %>
- <% else %>
- <section>
- <h3><%- header.name %></h3>
- <% if header.short_desc then %>
- <p><%- header.short_desc %>
- <% header.short_desc = nil %>
- <% end %>
- <% if header.desc then %>
- <p><%- header.desc or "" %>
- <% header.desc = nil %>
- <% end %>
- <% if header.inherits then %>
- <p>Inherits from
- <% for _,name in pairs(header.inherits) do %>
- <a href="<%- name %>.html"><%- name %></a>
- <% end %>
- <% end %>
- </section>
- <% local funcorder = {} %>
- <% for funcname,_ in pairs(header) do %>
- <% table.insert(funcorder,funcname) %>
- <% end %>
- <% table.sort(funcorder) %>
- <section>
- <h4>Contents</h4>
- <table>
- <tr>
- <th>Name</th>
- <th>Description</th>
- </tr>
- <% for _, funcname in ipairs(funcorder) do %>
- <% local data = header[funcname] %>
- <% if data and data.short_desc then %>
- <tr>
- <% if data.type == "function" or data.type == "method" then %>
- <td><%- funcsig({funcname = funcname, func = header[funcname]}) %></td>
- <td><%- data.short_desc %></td>
- <% else %>
- <td><%- data.name %></td>
- <td><%- data.short_desc %></td>
- <% end %>
- </tr>
- <% end %>
- <% end %>
- </table>
- </section>
- <hr>
- <% local func_sec = assert(et.compile(require("mdoc.files.func"))) %>
- <% for _, funcname in ipairs(funcorder) do %>
- <% local data = header[funcname] %>
- <% if not data.type then goto nextfunc end %>
- <% if data.type == "method" or data.type == "function" then %>
- <%- assert(func_sec{
- name = funcname,
- data = data
- }) %>
- <hr>
- <% elseif data.type == "field" then %>
- <h4><%- funcname %></h4>
- <p><%- data.desc or "" %>
- <hr>
- <% else %>
- <% if funcname ~= "name" and funcname ~= "type" then %>
- <p>Unknown field type: <%- data.type or "" %> for <%- funcname %>
- <p><%- tostring(data) %>
- <p><%- tostring(header) %>
- <hr>
- <% end %>
- <% end %>
- <% ::nextfunc:: %>
- <% end %>
- <% end %>
- </article>
- </body>
-</html>
-]]
+return [[
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title><%- options.title %></title>
+ <link rel="stylesheet" href="style.css" type="text/css">
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/styles/default.min.css">
+ <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/highlight.min.js"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+ </head>
+ <body>
+ <%- navbar %>
+ <article>
+ <% if header.data_file then %>
+ <% local reffd = io.open(header.data_file,"r") %>
+ <p><%- reffd:read("*a") %>
+ <% reffd:close() %>
+ <% else %>
+ <section>
+ <h3><%- header.name %></h3>
+ <% if header.short_desc then %>
+ <p><%- header.short_desc %>
+ <% header.short_desc = nil %>
+ <% end %>
+ <% if header.desc then %>
+ <p><%- header.desc or "" %>
+ <% header.desc = nil %>
+ <% end %>
+ <% if header.inherits then %>
+ <p>Inherits from
+ <% assert(header.inherits,"Failed to find field 'inherits'") %>
+ <% for _,name in pairs(header.inherits) do %>
+ <a href="<%- name %>.html"><%- name %></a>
+ <% end %>
+ <% end %>
+ </section>
+ <% local funcorder = {} %>
+ <% assert(header and type(header) == "table", "Failed to find header") %>
+ <% for funcname,_ in pairs(header) do %>
+ <% table.insert(funcorder,funcname) %>
+ <% end %>
+ <% table.sort(funcorder) %>
+ <section>
+ <h4>Contents</h4>
+ <table>
+ <tr>
+ <th>Name</th>
+ <th>Description</th>
+ </tr>
+ <% assert(funcorder and type(funcorder) == "table" , "Failed to find 'funcorder'") %>
+ <% for _, funcname in ipairs(funcorder) do %>
+ <% local data = header[funcname] %>
+ <% if data and data.short_desc then %>
+ <tr>
+ <% if data.type == "function" or data.type == "method" then %>
+ <td><%- funcsig({funcname = funcname, func = header[funcname]}) %></td>
+ <td><%- data.short_desc %></td>
+ <% else %>
+ <td><%- data.name %></td>
+ <td><%- data.short_desc %></td>
+ <% end %>
+ </tr>
+ <% end %>
+ <% end %>
+ </table>
+ </section>
+ <hr>
+ <% local func_sec = assert(et.compile(require("mdoc.files.func"))) %>
+ <% assert(funcorder and type(funcorder) == "table", "Failed to find funcorder 2")
+ <% for _, funcname in ipairs(funcorder) do %>
+ <% local data = header[funcname] %>
+ <% if not data.type then goto nextfunc end %>
+ <% if data.type == "method" or data.type == "function" then %>
+ <%- assert(func_sec{
+ name = funcname,
+ data = data
+ }) %>
+ <hr>
+ <% elseif data.type == "field" then %>
+ <h4><%- funcname %></h4>
+ <p><%- data.desc or "" %>
+ <hr>
+ <% else %>
+ <% if funcname ~= "name" and funcname ~= "type" then %>
+ <p>Unknown field type: <%- data.type or "" %> for <%- funcname %>
+ <p><%- tostring(data) %>
+ <p><%- tostring(header) %>
+ <hr>
+ <% end %>
+ <% end %>
+ <% ::nextfunc:: %>
+ <% end %>
+ <% end %>
+ </article>
+ </body>
+</html>
+]]