519 lines
15 KiB
Plaintext
519 lines
15 KiB
Plaintext
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
# local title = module and ldoc.module_typename(module).." "..module.name.." - "..ldoc.title or ldoc.title
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=$(ldoc.doc_charset)"/>
|
|
<title>$(title)</title>
|
|
<link rel="stylesheet" href="$(ldoc.css)" type="text/css" />
|
|
# if ldoc.custom_css then -- add custom CSS file if configured.
|
|
<link rel="stylesheet" href="$(ldoc.custom_css)" type="text/css" />
|
|
# end
|
|
<script>
|
|
function show_extra(id) {
|
|
var cur = document.getElementById("item"+id).className
|
|
|
|
if (cur == "hide_extra") {
|
|
document.getElementById("item"+id).className = "show_more"
|
|
document.getElementById("button"+id).className = "hide_extra"
|
|
}
|
|
}
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div id="container">
|
|
|
|
<div id="product">
|
|
<div id="product_logo"></div>
|
|
<div id="product_name"><big><b></b></big></div>
|
|
<div id="product_description"></div>
|
|
</div> <!-- id="product" -->
|
|
|
|
|
|
<div id="main">
|
|
|
|
# local no_spaces = ldoc.no_spaces
|
|
# local use_li = ldoc.use_li
|
|
# local display_name = ldoc.display_name
|
|
# local iter = ldoc.modules.iter
|
|
# local function M(txt,item) return ldoc.markup(txt,item,ldoc.plain) end
|
|
# local nowrap = ldoc.wrap and '' or 'nowrap'
|
|
# local html_space = function(s) return s:gsub(" ", "%%20") end
|
|
# local no_underscores = function(s) return s:gsub("_", " ") end
|
|
|
|
# --------- modules hierarchy -------------
|
|
# local hierarchy = {}
|
|
# local curr = module
|
|
# while curr do
|
|
# hierarchy[#hierarchy + 1] = curr
|
|
# -- no need to do anything more if there is no explicite @supermodule
|
|
# if not curr.tags.supermodule then break end
|
|
# local super = curr.tags.supermodule[1] -- only consider one way inheritance
|
|
# local found = false
|
|
# for kind, mods, type in ldoc.kinds() do
|
|
# for mod in mods() do
|
|
# local name = display_name(mod)
|
|
# if name == super then
|
|
# curr = mod
|
|
# found = true
|
|
# end
|
|
# if found then break end
|
|
# end
|
|
# if found then break end
|
|
# end
|
|
# if not found then curr = nil end
|
|
# end
|
|
|
|
# --------- merge modules content with supermodules -------------
|
|
# local all_module_kinds = {}
|
|
# if module then
|
|
# for kind,items in module.kinds() do
|
|
# local myitems = {}
|
|
# for item in items() do
|
|
# myitems[#myitems + 1] = item
|
|
# end
|
|
# all_module_kinds[#all_module_kinds + 1] = { kind = kind, items = myitems }
|
|
# end
|
|
# local filtered_kinds = { "Constructors", "Static module functions",
|
|
# "Functions", "Methods", "lib.gears.object.properties Functions" }
|
|
# for supermodule in iter(hierarchy) do
|
|
# for kind,items in supermodule.kinds() do
|
|
# local ignored = false
|
|
# for _,filtered in ldoc.pairs(filtered_kinds) do
|
|
# if kind == filtered then
|
|
# ignored = true
|
|
# break
|
|
# end
|
|
# end
|
|
# if not ignored then
|
|
# local curr_kind = nil
|
|
# for k in iter(all_module_kinds) do
|
|
# if k.kind == kind then
|
|
# curr_kind = k
|
|
# break
|
|
# end
|
|
# end
|
|
# if not curr_kind then
|
|
# curr_kind = { kind = kind, items = {} }
|
|
# all_module_kinds[#all_module_kinds + 1] = curr_kind
|
|
# end
|
|
# for item in items() do
|
|
# local tobeadded = true
|
|
# for i in iter(curr_kind.items) do
|
|
# if item.name == i.name then
|
|
# tobeadded = false
|
|
# break
|
|
# end
|
|
# end
|
|
# if tobeadded then
|
|
# item.inherited = true -- force inherited status
|
|
# curr_kind.items[#curr_kind.items + 1] = item
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
|
|
<!-- Menu -->
|
|
|
|
<div id="navigation">
|
|
<br/>
|
|
<h1>$(ldoc.project)</h1>
|
|
|
|
# if not ldoc.single and module then -- reference back to project index
|
|
<ul>
|
|
<li><a href="../$(ldoc.output).html">Index</a></li>
|
|
</ul>
|
|
# end
|
|
|
|
# --------- contents of module -------------
|
|
# if module and not ldoc.no_summary and #module.items > 0 then
|
|
<h2>Contents</h2>
|
|
<ul>
|
|
# for k in iter(all_module_kinds) do
|
|
# local kind = k.kind
|
|
# if not kind:match("^ldoc_skip") then
|
|
<li><a href="#$(no_spaces(kind))">$(kind)</a></li>
|
|
# end
|
|
# end
|
|
</ul>
|
|
# end
|
|
|
|
|
|
# if ldoc.no_summary and module and not ldoc.one then -- bang out the functions on the side
|
|
# for kind, items in module.kinds() do
|
|
# if not kind:match("^ldoc_skip") then
|
|
<h2>$(kind)dasdasd</h2>
|
|
<ul class="nowrap">
|
|
# end
|
|
# for item in items() do
|
|
<li><a href="#$(item.name)">$(display_name(item))</a></li>
|
|
# end
|
|
# if not kind:match("^ldoc_skip") then
|
|
</ul>
|
|
# end
|
|
# end
|
|
# end
|
|
# -------- contents of project ----------
|
|
# local this_mod = module and module.name
|
|
# for kind, mods, type in ldoc.kinds() do
|
|
# if ldoc.allowed_in_contents(type,module) then
|
|
<h2>$(no_underscores(kind))</h2>
|
|
<ul class="$(kind=='Topics' and '' or 'nowrap')">
|
|
# for mod in mods() do local name = display_name(mod)
|
|
# if mod.name == this_mod then
|
|
<li><strong>$(name)</strong></li>
|
|
# else
|
|
<li><a href="$(ldoc.ref_to_module(mod))">$(name)</a></li>
|
|
# end
|
|
# end
|
|
# end
|
|
</ul>
|
|
# end
|
|
|
|
</div>
|
|
|
|
<div id="content">
|
|
|
|
# if ldoc.body then -- verbatim HTML as contents; 'non-code' entries
|
|
$(ldoc.body)
|
|
# elseif module then -- module documentation
|
|
<h1>Module: <code>$(module.name)</code></h1>
|
|
<p>$(M(module.summary,module))</p>
|
|
<p>$(M(module.description,module))</p>
|
|
|
|
# if module.tags.supermodule or module.tags.knownusage then
|
|
<h3>Class Hierarchy</h3>
|
|
<div class="inheritance">
|
|
# local function draw_hierary_recursifly(i)
|
|
<ul class="inheritance__level">
|
|
# if i == #hierarchy then
|
|
<li class="inheritance__level__node inheritance__level__node inheritance__level__node--root">
|
|
# else
|
|
<li class="inheritance__level__node inheritance__level__node">
|
|
# end
|
|
# local mod = hierarchy[i]
|
|
# local name = display_name(hierarchy[i])
|
|
# if mod == module then
|
|
<strong>$(name)</strong>
|
|
# else
|
|
<a href="$(ldoc.ref_to_module(mod))">$(name)</a>
|
|
# end
|
|
</li>
|
|
# if i > 1 then
|
|
<li>
|
|
# draw_hierary_recursifly(i - 1)
|
|
</li>
|
|
# end
|
|
</ul>
|
|
# end
|
|
# draw_hierary_recursifly(#hierarchy)
|
|
</div>
|
|
# end
|
|
|
|
# if module.tags.include then
|
|
$(M(ldoc.include_file(module.tags.include)))
|
|
# end
|
|
# if module.see then
|
|
# local li,il = use_li(module.see)
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
# for see in iter(module.see) do
|
|
$(li)<a href="$(ldoc.href(see))">$(see.label)</a>$(il)
|
|
# end -- for
|
|
</ul>
|
|
# end -- if see
|
|
# if module.usage then
|
|
# local li,il = use_li(module.usage)
|
|
<h3>Usage:</h3>
|
|
<ul>
|
|
# for usage in iter(module.usage) do
|
|
$(li)<pre class="example">$(ldoc.escape(usage))</pre>$(il)
|
|
# end -- for
|
|
</ul>
|
|
# end -- if usage
|
|
# if module.info then
|
|
<h3>Info:</h3>
|
|
<ul>
|
|
# for tag, value in module.info:iter() do
|
|
<li><strong>$(tag)</strong>: $(M(value,module))</li>
|
|
# end
|
|
</ul>
|
|
# end -- if module.info
|
|
|
|
|
|
# if not ldoc.no_summary then
|
|
# -- bang out the tables of item types for this module (e.g Functions, Tables, etc)
|
|
# local last_kind = ""
|
|
# for k in iter(all_module_kinds) do
|
|
# local kind = k.kind
|
|
# if not kind:match("^ldoc_skip") then
|
|
# if last_kind ~= "" then
|
|
</table>
|
|
# end
|
|
<h2><a href="#$(no_spaces(kind))">$(kind)</a></h2>
|
|
<table class="function_list">
|
|
# end
|
|
# for item in iter(k.items) do
|
|
# local dn = display_name(item)
|
|
# local inherited = item.inherited or (item.baseclass ~= module.name)
|
|
# if item.sanitize_type then item.sanitize_type(item, ldoc) end
|
|
<tr>
|
|
# if item.display_type and not item.compact_signature then
|
|
<td class="shortname" $(nowrap)><a href="#$(item.name)">$(dn)</a></td>
|
|
<td class="summarytype" nowrap>$(item.display_type)</td>
|
|
# else
|
|
<td class="name" $(nowrap)>
|
|
<a href="#$(item.name)">$(dn)</a>
|
|
# if item.display_type and item.compact_signature then
|
|
<span class="summarytype">$(item.display_type)</span>
|
|
# end
|
|
</td>
|
|
# end
|
|
<td colspan="$(inherited and 1 or 2)" class="summary">$(M(item.summary,item))</td>
|
|
# if inherited then
|
|
<td class="baseclass" $(nowrap)>
|
|
Inherited from $(item.baseclass)
|
|
</td>
|
|
# end
|
|
</tr>
|
|
# end -- for items
|
|
# last_kind = kind
|
|
#end -- for kinds
|
|
</table>
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
#end -- if not no_summary
|
|
|
|
# --- currently works for both Functions and Tables. The params field either contains
|
|
# --- function parameters or table fields.
|
|
# local show_return = not ldoc.no_return_or_parms
|
|
# local show_parms, last_kind = show_return, ""
|
|
# for k in iter(all_module_kinds) do
|
|
# local kind = k.kind
|
|
# local kitem = module.kinds:get_item(kind)
|
|
# local has_description = kitem and ldoc.descript(kitem) ~= ""
|
|
# if not kind:match("^ldoc_skip") then
|
|
# if last_kind ~= "" then
|
|
</dl>
|
|
# end
|
|
<h2 class="section-header $(has_description and 'has-description')"><a name="$(no_spaces(kind))"></a>$(kind)</h2>
|
|
# end
|
|
$(M(module.kinds:get_section_description(kind),nil))
|
|
# if kitem then
|
|
# if has_description then
|
|
<div class="section-description">
|
|
$(M(ldoc.descript(kitem),kitem))
|
|
</div>
|
|
# end
|
|
# if kitem.usage then
|
|
<h3>Usage:</h3>
|
|
<pre class="example">$(ldoc.prettify(kitem.usage[1]))</pre>
|
|
# end
|
|
# end
|
|
# if not kind:match("^ldoc_skip") then
|
|
<dl class="function">
|
|
# end
|
|
# for item in iter(k.items) do
|
|
<dt>
|
|
<a name = "$(item.name)"></a>
|
|
<strong>$(display_name(item))</strong>
|
|
# if item.display_inheritance then
|
|
<span class="inheritance">
|
|
· Inherited from
|
|
<a href="$(item.display_inheritance)">$(item.display_inheritance)</a>
|
|
</span>
|
|
# end -- display_inheritance
|
|
# if item.display_type then
|
|
<span class="proptype">$(item.display_type)</span>
|
|
# end
|
|
<span class="baseclass" $(nowrap)>
|
|
# if item.inherited or (item.baseclass ~= module.name) then
|
|
· Inherited from $(M(item.baseclass, item))
|
|
# end
|
|
# if item.extra_summary then
|
|
# for _, col in ldoc.ipairs(item.extra_summary) do
|
|
· $((col.showcount and col.count.." " or "")..col.title)
|
|
# end -- summary col
|
|
# end -- summary
|
|
</span>
|
|
# if ldoc.prettify_files and ldoc.is_file_prettified[item.module.file.filename] then
|
|
<a style="float:right;" href="$(ldoc.source_ref(item))">line $(item.lineno)</a>
|
|
# end
|
|
</dt>
|
|
<dd>
|
|
$(M(ldoc.descript(item),item))
|
|
|
|
# if show_parms and item.params and #item.params > 0 and not item.hide_params then
|
|
# local subnames = module.kinds:type_of(item).subnames
|
|
# if subnames then
|
|
<h3>$(subnames):</h3>
|
|
# end
|
|
<ul>
|
|
# for parm in iter(item.params) do
|
|
# local param,sublist = item:subparam(parm)
|
|
# if sublist then
|
|
<li><span class="parameter">$(sublist)</span>$(M(item.params.map[sublist],item))
|
|
<ul>
|
|
# end
|
|
# for p in iter(param) do
|
|
# local name,tp,def = item:display_name_of(p), ldoc.typename(item:type_of_param(p)), item:default_of_param(p)
|
|
<li><span class="parameter">$(name)</span>
|
|
# if tp ~= '' then
|
|
<span class="types">$(tp)</span>
|
|
# end
|
|
$(M(item.params.map[p],item))
|
|
# if def == true then
|
|
(<em>optional</em>)
|
|
# elseif def then
|
|
(<em>default</em> $(def))
|
|
# end
|
|
# if item:readonly(p) then
|
|
<em>readonly</em>
|
|
# end
|
|
</li>
|
|
# end
|
|
# if sublist then
|
|
</li></ul>
|
|
# end
|
|
# end -- for
|
|
</ul>
|
|
# end -- if params
|
|
|
|
# if show_return and item.retgroups then local groups = item.retgroups
|
|
<h3>Returns:</h3>
|
|
# for i,group in ldoc.ipairs(groups) do local li,il = use_li(group)
|
|
<ol>
|
|
# for r in group:iter() do local type, ctypes = item:return_type(r); local rt = ldoc.typename(type)
|
|
$(li)
|
|
# if rt ~= '' then
|
|
<span class="types">$(rt)</span>
|
|
# end
|
|
$(M(r.text,item))$(il)
|
|
# if ctypes then
|
|
<ul>
|
|
# for c in ctypes:iter() do
|
|
<li><span class="parameter">$(c.name)</span>
|
|
<span class="types">$(ldoc.typename(c.type))</span>
|
|
$(M(c.comment,item))</li>
|
|
# end
|
|
</ul>
|
|
# end -- if ctypes
|
|
# end -- for r
|
|
</ol>
|
|
# if i < #groups then
|
|
<h3>Or</h3>
|
|
# end
|
|
# end -- for group
|
|
# end -- if returns
|
|
|
|
# if show_return and item.raise then
|
|
<h3>Raises:</h3>
|
|
$(M(item.raise,item))
|
|
# end
|
|
|
|
# if item.see then
|
|
# local li,il = use_li(item.see)
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
# for see in iter(item.see) do
|
|
$(li)<a href="$(ldoc.href(see))">$(see.label)</a>$(il)
|
|
# end -- for
|
|
</ul>
|
|
# end -- if see
|
|
|
|
# if item.usage then
|
|
# local li,il = use_li(item.usage)
|
|
<h3>Usage:</h3>
|
|
<ul>
|
|
# for usage in iter(item.usage) do
|
|
$(li)<pre class="example">$(ldoc.prettify(usage))</pre>$(il)
|
|
# end -- for
|
|
</ul>
|
|
# end -- if usage
|
|
|
|
# if item.has_show_more then
|
|
<br />
|
|
<center id=button$(item.uid)>
|
|
<a class="show_more_button" onclick="show_extra('$(item.uid)')">
|
|
Click to display more
|
|
</a>
|
|
</center>
|
|
# end
|
|
|
|
<span id=item$(item.uid) class="hide_extra">
|
|
# if ldoc.custom_tags then
|
|
# for custom in iter(ldoc.custom_tags) do
|
|
# local tag = item.tags[custom[1]]
|
|
# if tag and not custom.hidden then
|
|
# local group_begin, group_end, row_type_begin, row_type_end, group_header = item.get_delim(custom[1])
|
|
<h3>$(custom.title or custom[1]):</h3>
|
|
<$(group_begin)>
|
|
# if group_header then
|
|
<tr style='font-weight: bold;'>
|
|
# for _, g in ldoc.ipairs(group_header) do
|
|
<th>$(g)</th>
|
|
# end -- for g
|
|
</tr>
|
|
# end -- if group_header then
|
|
# for value in iter(tag) do
|
|
<$(row_type_begin)>$(custom.format and custom.format(value, item, M) or M(value))</$(row_type_end)>
|
|
# local sub_values, sub_custom = item.get_auto_params(custom[1], value)
|
|
# if sub_values then
|
|
<ul>
|
|
# for _, value in ldoc.ipairs(sub_values) do
|
|
<li>$(sub_custom.format(value, item, M))</li>
|
|
# end -- for auto_params
|
|
</ul>
|
|
# end -- if item.auto_params
|
|
# end -- for
|
|
</$(group_end)>
|
|
# end -- if tag
|
|
# end -- iter tags
|
|
# end -- ldoc.custom_tags
|
|
</span>
|
|
|
|
</dd>
|
|
# end -- for items
|
|
# last_kind = kind
|
|
# end -- for kinds
|
|
</dl>
|
|
|
|
# else -- if module; project-level contents
|
|
|
|
# if ldoc.description then
|
|
<h2>$(M(ldoc.description,nil))</h2>
|
|
# end
|
|
# if ldoc.full_description then
|
|
<p>$(M(ldoc.full_description,nil))</p>
|
|
# end
|
|
|
|
# for kind, mods in ldoc.kinds() do
|
|
<h2>$(kind)</h2>
|
|
# kind = kind:lower()
|
|
<table class="module_list">
|
|
# for m in mods() do
|
|
<tr>
|
|
<td class="name" $(nowrap)><a href="$(html_space(kind))/$(m.name).html">$(m.name)</a></td>
|
|
<td class="summary">$(M(ldoc.strip_header(m.summary),m))</td>
|
|
</tr>
|
|
# end -- for modules
|
|
</table>
|
|
# end -- for kinds
|
|
# end -- if module
|
|
|
|
</div> <!-- id="content" -->
|
|
</div> <!-- id="main" -->
|
|
<div id="about">
|
|
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc $(ldoc.version)</a></i>
|
|
<i style="float:right;">Last updated $(ldoc.updatetime) </i>
|
|
</div> <!-- id="about" -->
|
|
</div> <!-- id="container" -->
|
|
</body>
|
|
</html>
|