From e87b06ee0fe2a588b72a356bbb8378899365d626 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sun, 5 Jul 2020 17:18:56 -0400 Subject: Add rockspec Add a rockspec and move the files around so that luarocks can install it correctly --- share/func.etlua.lua | 43 ++++++++++++++++++++ share/funcsignature.etlua.lua | 24 ++++++++++++ share/index.etlua.lua | 19 +++++++++ share/navbar.etlua.lua | 26 +++++++++++++ share/page.etlua.lua | 91 +++++++++++++++++++++++++++++++++++++++++++ share/style.css.lua | 28 +++++++++++++ 6 files changed, 231 insertions(+) create mode 100644 share/func.etlua.lua create mode 100644 share/funcsignature.etlua.lua create mode 100644 share/index.etlua.lua create mode 100644 share/navbar.etlua.lua create mode 100644 share/page.etlua.lua create mode 100644 share/style.css.lua (limited to 'share') diff --git a/share/func.etlua.lua b/share/func.etlua.lua new file mode 100644 index 0000000..f635851 --- /dev/null +++ b/share/func.etlua.lua @@ -0,0 +1,43 @@ +return [[ +
+

+ <%- name %>( + <% for n, param in pairs(data.params) do %> + <% if param.optional then %>[<% end %> + <% if n ~= 1 then %>,<% end %> + <%- param.type %> <%- param.name %> + <% if param.optional then %>]<% end %> + <% end %> + ) +

+

<%- data.short_desc %> +

<%- data.desc %> + <% if #data.params > 0 then %> +

Parameters
+ + <% end %> + <% if #data.returns > 0 then %> +
Returns
+ + <% end %> +

Defined at <%- data.file %>:<%- data.line %> +

+]] diff --git a/share/funcsignature.etlua.lua b/share/funcsignature.etlua.lua new file mode 100644 index 0000000..de34880 --- /dev/null +++ b/share/funcsignature.etlua.lua @@ -0,0 +1,24 @@ +return [[ +<% assert(func, "Requires function to render a function signature") %> +<% assert(funcname, "Requires a function name to render a function signature") %> +<%- funcname %>( + <% if func.params and #func.params > 0 then %> + <% local optchain = false %> + <% for paramid, param in pairs(func.params) do %> + <% if paramid == 1 and param.optional then %> + [ + <% elseif param.optional then %> + [, + <% elseif paramid > 1 then %> + , + <% end %> + <%- param.name %> + <% if paramid == 1 and param.optional then %> + ] + <% elseif param.optional then %> + ] + <% end %> + <% end %> + <% end %> +) +]] diff --git a/share/index.etlua.lua b/share/index.etlua.lua new file mode 100644 index 0000000..9f07fff --- /dev/null +++ b/share/index.etlua.lua @@ -0,0 +1,19 @@ +return [[ + + + + + <%- options.title %> + + + + + + <%- navbar %> +
+ <%- text %> +
+ + +]] diff --git a/share/navbar.etlua.lua b/share/navbar.etlua.lua new file mode 100644 index 0000000..21192f7 --- /dev/null +++ b/share/navbar.etlua.lua @@ -0,0 +1,26 @@ +return [[ + +]] diff --git a/share/page.etlua.lua b/share/page.etlua.lua new file mode 100644 index 0000000..6e359e6 --- /dev/null +++ b/share/page.etlua.lua @@ -0,0 +1,91 @@ +return [[ + + + + <%- options.title %> + + + + + + <%- navbar %> +
+ <% if header.data_file then %> + <% local reffd = io.open(header.data_file,"r") %> +

<%- reffd:read("*a") %> + <% reffd:close() %> + <% else %> +

+

<%- header.name %>

+ <% if header.short_desc then %> +

<%- header.short_desc %> + <% header.short_desc = nil %> + <% end %> + <% if header.desc then %> +

<%- header.desc or "" %> + <% header.desc = nil %> + <% end %> + <% if header.inherits then %> +

Inherits from + <% for _,name in pairs(header.inherits) do %> + <%- name %> + <% end %> + <% end %> +

+ <% local funcorder = {} %> + <% for funcname,_ in pairs(header) do %> + <% table.insert(funcorder,funcname) %> + <% end %> + <% table.sort(funcorder) %> +
+

Contents

+ + + + + + <% for _, funcname in ipairs(funcorder) do %> + <% local data = header[funcname] %> + <% if data and data.short_desc then %> + + <% if data.type == "function" or data.type == "method" then %> + + + <% else %> + + + <% end %> + + <% end %> + <% end %> +
NameDescription
<%- funcsig({funcname = funcname, func = header[funcname]}) %><%- data.short_desc %><%- data.name %><%- data.short_desc %>
+
+
+ <% local func_sec = assert(et.compile(require("mdoc.files.func"))) %> + <% for _, funcname in ipairs(funcorder) do %> + <% local data = header[funcname] %> + <% if data.type == "method" or data.type == "function" then %> + <%- assert(func_sec{ + name = funcname, + data = data + }) %> +
+ <% elseif data.type == "field" then %> +

<%- funcname %>

+

<%- data.desc or "" %> +


+ <% else %> + <% if funcname ~= "name" and funcname ~= "type" then %> +

Unknown field type: <%- data and data.type or "" %> for <%- funcname %> +

<%- tostring(data) %> +

<%- tostring(header) %> +


+ <% end %> + <% end %> + <% end %> + <% end %> +
+ + +]] diff --git a/share/style.css.lua b/share/style.css.lua new file mode 100644 index 0000000..88df99e --- /dev/null +++ b/share/style.css.lua @@ -0,0 +1,28 @@ +return [[ +nav{ + float:left; + padding:2em; + border-right:1px solid black; +} +article{ + margin: auto auto auto 20%; +} +a{ + text-decoration: none; +} +a:hover{ + text-decoration:underline; +} +nav>ol{ + list-style-type: none; +} +body{ + line-height:1.6; + font-size:18px; + color:#444; + padding:0 10px +} +h1,h2,h3{ + line-height:1.2 +} +]] -- cgit v1.2.3-70-g09d2