diff options
| author | Alexander Pickering <alex@cogarr.net> | 2020-07-05 12:22:36 -0400 |
|---|---|---|
| committer | Alexander Pickering <alex@cogarr.net> | 2020-07-05 12:22:36 -0400 |
| commit | d2ba262c5307aa14c325ef53d8e4e56a5ece0376 (patch) | |
| tree | ad06e57708cd45b457dbea4804812b1e5ddfcb36 /page.etlua | |
| download | mdoc-d2ba262c5307aa14c325ef53d8e4e56a5ece0376.tar.gz mdoc-d2ba262c5307aa14c325ef53d8e4e56a5ece0376.tar.bz2 mdoc-d2ba262c5307aa14c325ef53d8e4e56a5ece0376.zip | |
Initial Commit
Diffstat (limited to 'page.etlua')
| -rw-r--r-- | page.etlua | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/page.etlua b/page.etlua new file mode 100644 index 0000000..47d9ad0 --- /dev/null +++ b/page.etlua @@ -0,0 +1,97 @@ +<!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="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/styles/default.min.css">
+ <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.0.0/build/highlight.min.js"></script>
+ </head>
+ <body>
+ <%- navbar %>
+ <article>
+ <% if header.data then %>
+ <%- header.data %>
+ <% 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_fd = assert(io.open("func.etlua","r")) %>
+ <% local func_sec = assert(et.compile(func_fd:read("*a"))) %>
+ <% func_fd:close() %>
+ <% for _, funcname in ipairs(funcorder) do %>
+ <% local data = header[funcname] %>
+ <% print("Data:", data) %>
+ <% if data.type == "method" or data.type == "function" then %>
+ <% print("about to render...") %>
+ <%- assert(func_sec{
+ name = funcname,
+ data = data
+ }) %>
+ <% print("done rendering...") %>
+ <hr>
+ <% elseif data.type == "field" then %>
+ <% print("about to do field ") %>
+ <h4><%- funcname %></h4>
+ <p><%- data.desc or "" %>
+ <hr>
+ <% else %>
+ <% print("About to do error...") %>
+ <% if funcname ~= "name" and funcname ~= "type" then %>
+ <p>Unknown field type: <%- data and data.type or "" %> for <%- funcname %>
+ <hr>
+ <% end %>
+ <% end %>
+ <% print("Next chunk...") %>
+ <% end %>
+ <% print("done with all chunks...") %>
+ <% end %>
+ </article>
+ </body>
+</html>
+
+
+
|
