new examples
This commit is contained in:
parent
be1cafba6b
commit
d69ba1be96
|
@ -0,0 +1,3 @@
|
|||
style = true
|
||||
template = true
|
||||
file = 'mod1.lua'
|
|
@ -0,0 +1,271 @@
|
|||
/* BEGIN RESET
|
||||
|
||||
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.html
|
||||
version: 2.8.2r1
|
||||
*/
|
||||
html {
|
||||
color: #000;
|
||||
background: #FFF;
|
||||
}
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
fieldset,img {
|
||||
border: 0;
|
||||
}
|
||||
address,caption,cite,code,dfn,em,strong,th,var,optgroup {
|
||||
font-style: inherit;
|
||||
font-weight: inherit;
|
||||
}
|
||||
del,ins {
|
||||
text-decoration: none;
|
||||
}
|
||||
li {
|
||||
list-style: bullet;
|
||||
margin-left: 20px;
|
||||
}
|
||||
caption,th {
|
||||
text-align: left;
|
||||
}
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
q:before,q:after {
|
||||
content: '';
|
||||
}
|
||||
abbr,acronym {
|
||||
border: 0;
|
||||
font-variant: normal;
|
||||
}
|
||||
sup {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
sub {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
legend {
|
||||
color: #000;
|
||||
}
|
||||
input,button,textarea,select,optgroup,option {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-style: inherit;
|
||||
font-weight: inherit;
|
||||
}
|
||||
input,button,textarea,select {*font-size:100%;
|
||||
}
|
||||
/* END RESET */
|
||||
|
||||
body {
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
font-family: arial, helvetica, geneva, sans-serif;
|
||||
background-color: #ffffff; margin: 0px;
|
||||
}
|
||||
|
||||
code, tt { font-family: monospace; }
|
||||
|
||||
body, p, td, th { font-size: .95em; line-height: 1.2em;}
|
||||
|
||||
p, ul { margin: 10px 0 0 10px;}
|
||||
|
||||
strong { font-weight: bold;}
|
||||
|
||||
em { font-style: italic;}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5em;
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
h2, h3, h4 { margin: 15px 0 10px 0; }
|
||||
h2 { font-size: 1.25em; }
|
||||
h3 { font-size: 1.15em; }
|
||||
h4 { font-size: 1.06em; }
|
||||
|
||||
a:link { font-weight: bold; color: #004080; text-decoration: none; }
|
||||
a:visited { font-weight: bold; color: #006699; text-decoration: none; }
|
||||
a:link:hover { text-decoration: underline; }
|
||||
|
||||
hr {
|
||||
color:#cccccc;
|
||||
background: #00007f;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
blockquote { margin-left: 3em; }
|
||||
|
||||
ul { list-style-type: disc; }
|
||||
|
||||
p.name {
|
||||
font-family: "Andale Mono", monospace;
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
pre.example {
|
||||
background-color: rgb(245, 245, 245);
|
||||
border: 1px solid silver;
|
||||
padding: 10px;
|
||||
margin: 10px 0 10px 0;
|
||||
font-family: "Andale Mono", monospace;
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: rgb(245, 245, 245);
|
||||
border: 1px solid silver;
|
||||
padding: 10px;
|
||||
margin: 10px 0 10px 0;
|
||||
font-family: "Andale Mono", monospace;
|
||||
}
|
||||
|
||||
|
||||
table.index { border: 1px #00007f; }
|
||||
table.index td { text-align: left; vertical-align: top; }
|
||||
|
||||
#container {
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
#product {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#product big {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
#main {
|
||||
background-color: #f0f0f0;
|
||||
border-left: 2px solid #cccccc;
|
||||
}
|
||||
|
||||
#navigation {
|
||||
float: left;
|
||||
width: 18em;
|
||||
vertical-align: top;
|
||||
background-color: #f0f0f0;
|
||||
overflow: visible;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
#navigation h2 {
|
||||
background-color:#e7e7e7;
|
||||
font-size:1.1em;
|
||||
color:#000000;
|
||||
text-align: left;
|
||||
padding:0.2em;
|
||||
border-top:1px solid #dddddd;
|
||||
border-bottom:1px solid #dddddd;
|
||||
}
|
||||
|
||||
#navigation ul
|
||||
{
|
||||
font-size:1em;
|
||||
list-style-type: none;
|
||||
margin: 1px 1px 10px 1px;
|
||||
}
|
||||
|
||||
#navigation li {
|
||||
text-indent: -1em;
|
||||
display: block;
|
||||
margin: 3px 0px 0px 22px;
|
||||
}
|
||||
|
||||
#navigation li li a {
|
||||
margin: 0px 3px 0px -1em;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin-left: 18em;
|
||||
padding: 1em;
|
||||
border-left: 2px solid #cccccc;
|
||||
border-right: 2px solid #cccccc;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#about {
|
||||
clear: both;
|
||||
padding: 5px;
|
||||
border-top: 2px solid #cccccc;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body {
|
||||
font: 12pt "Times New Roman", "TimeNR", Times, serif;
|
||||
}
|
||||
a { font-weight: bold; color: #004080; text-decoration: underline; }
|
||||
|
||||
#main {
|
||||
background-color: #ffffff;
|
||||
border-left: 0px;
|
||||
}
|
||||
|
||||
#container {
|
||||
margin-left: 2%;
|
||||
margin-right: 2%;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#content {
|
||||
padding: 1em;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#navigation {
|
||||
display: none;
|
||||
}
|
||||
pre.example {
|
||||
font-family: "Andale Mono", monospace;
|
||||
font-size: 10pt;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
|
||||
table.module_list {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #cccccc;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.module_list td {
|
||||
border-width: 1px;
|
||||
padding: 3px;
|
||||
border-style: solid;
|
||||
border-color: #cccccc;
|
||||
}
|
||||
table.module_list td.name { background-color: #f0f0f0; }
|
||||
table.module_list td.summary { width: 100%; }
|
||||
|
||||
|
||||
table.function_list {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #cccccc;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.function_list td {
|
||||
border-width: 1px;
|
||||
padding: 3px;
|
||||
border-style: solid;
|
||||
border-color: #cccccc;
|
||||
}
|
||||
table.function_list td.name { background-color: #f0f0f0; }
|
||||
table.function_list td.summary { width: 100%; }
|
||||
|
||||
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
|
||||
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
|
||||
dl.table h3, dl.function h3 {font-size: .95em;}
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<head>
|
||||
<title>$(ldoc.title)</title>
|
||||
<link rel="stylesheet" href="$(ldoc.css)" type="text/css" />
|
||||
</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 M = ldoc.markup
|
||||
|
||||
<!-- Menu -->
|
||||
|
||||
<div id="navigation">
|
||||
|
||||
<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>
|
||||
# else
|
||||
<p>$(ldoc.description)</p>
|
||||
# end
|
||||
|
||||
|
||||
|
||||
# -------- contents of project ----------
|
||||
# if not ldoc.no_summary then
|
||||
# local this_mod = module and module.name
|
||||
# for kind, mods, type in ldoc.kinds() do
|
||||
# if not ldoc.kinds_allowed or ldoc.kinds_allowed[type] then
|
||||
<h2>$(kind)</h2>
|
||||
<ul>
|
||||
# for mod in mods() do
|
||||
# if mod.name == this_mod then -- highlight current module, link to others
|
||||
<li><strong>$(mod.name)</strong></li>
|
||||
# else
|
||||
<li><a href="$(ldoc.ref_to_module(mod))">$(mod.name)</a></li>
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#end
|
||||
</ul>
|
||||
# else
|
||||
<ul>
|
||||
# for kind, items in module.kinds() do
|
||||
<h2>$(kind)</h2>
|
||||
# for item in items() do
|
||||
<li><a href="#$(item.name)">$(display_name(item))</a></li>
|
||||
# end end
|
||||
</ul>
|
||||
#end
|
||||
|
||||
# --------- contents of module -------------
|
||||
# if module and not ldoc.no_summary and #module.items > 0 then
|
||||
<h2>Contents</h2>
|
||||
<ul>
|
||||
# for kind,items in module.kinds() do
|
||||
<li><a href="#$(no_spaces(kind))">$(kind)</a></li>
|
||||
# end
|
||||
</ul>
|
||||
# end
|
||||
|
||||
</div>
|
||||
|
||||
<div id="content">
|
||||
|
||||
#if module then
|
||||
<h1>$(ldoc.titlecase(module.type)) <code>$(module.name)</code></h1>
|
||||
# end
|
||||
|
||||
# if ldoc.body then -- verbatim HTML as contents; 'non-code' entries
|
||||
$(ldoc.body)
|
||||
# elseif module then -- module documentation
|
||||
# ldoc.item = module -- context for M()
|
||||
<p>$(M(module.summary))</p>
|
||||
<p>$(M(module.description))</p>
|
||||
|
||||
# if not ldoc.no_summary then
|
||||
# -- bang out the tables of item types for this module (e.g Functions, Tables, etc)
|
||||
# for kind,items in module.kinds() do
|
||||
<h2><a href="#$(no_spaces(kind))">$(kind)</a></h2>
|
||||
<table class="function_list">
|
||||
# for item in items() do
|
||||
<tr>
|
||||
<td class="name" nowrap><a href="#$(item.name)">$(display_name(item))</a></td>
|
||||
<td class="summary">$(M(item.summary))</td>
|
||||
</tr>
|
||||
# end -- for items
|
||||
</table>
|
||||
#end -- for kinds
|
||||
|
||||
<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 = show_return
|
||||
# for kind, items in module.kinds() do
|
||||
<h2><a name="$(no_spaces(kind))"></a>$(kind)</h2>
|
||||
$(M(module.kinds:get_section_description(kind)))
|
||||
<dl class="function">
|
||||
# for item in items() do ldoc.item = item -- provides context for M()
|
||||
<dt>
|
||||
<a name = "$(item.name)"></a>
|
||||
<strong>$(display_name(item))</strong>
|
||||
</dt>
|
||||
<dd>
|
||||
$(M(item.summary..' <br />'..(item.description or '')))
|
||||
|
||||
# if show_parms and item.params and #item.params > 0 then
|
||||
<h3>$(module.kinds:type_of(item).subnames):</h3>
|
||||
<ul>
|
||||
# for p in iter(item.params) do
|
||||
<li><code><em>$(p)</em></code>: $(M(item.params[p]))</li>
|
||||
# end -- for
|
||||
</ul>
|
||||
# end -- if params
|
||||
|
||||
# if show_return and item.ret then
|
||||
# local li,il = use_li(item.ret)
|
||||
<h3>Returns:</h3>
|
||||
<ol>
|
||||
# for r in iter(item.ret) do
|
||||
$(li)$(M(r))$(il)
|
||||
# end -- for
|
||||
</ol>
|
||||
# end -- if returns
|
||||
|
||||
# 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">$(usage)</pre>$(il)
|
||||
# end -- for
|
||||
</ul>
|
||||
# end -- if usage
|
||||
|
||||
# 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
|
||||
</dd>
|
||||
# end -- for items
|
||||
</dl>
|
||||
# end -- for kinds
|
||||
|
||||
# else -- if module; project-level contents
|
||||
|
||||
# if ldoc.description then
|
||||
<p>$(M(ldoc.description))</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="$(no_spaces(kind))/$(m.name).html">$(m.name)</a></td>
|
||||
<td class="summary">$(M(m.summary))</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</a></i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,61 @@
|
|||
---------------------------
|
||||
-- Test module providing bonzo.dog.
|
||||
-- Rest is a longer description
|
||||
-- @class module
|
||||
-- @name mod1
|
||||
|
||||
--- zero function. Two new ldoc features here; item types
|
||||
-- can be used directly as tags, and aliases for tags
|
||||
-- can be defined in config.lp.
|
||||
-- @function zero_fun
|
||||
-- @param k1 first
|
||||
-- @param k2 second
|
||||
|
||||
--- first function. Some description
|
||||
-- @param p1 first parameter
|
||||
-- @param[opt] p2 second parameter
|
||||
-- @param[optchain] p3 third parameter
|
||||
function mod1.first_fun(p1,p2,p3)
|
||||
end
|
||||
|
||||
-------------------------
|
||||
-- second function.
|
||||
-- @param ... var args!
|
||||
function mod1.second_function(...)
|
||||
end
|
||||
|
||||
------------
|
||||
-- third function. Can also provide parameter comments inline,
|
||||
-- provided they follow this pattern.
|
||||
function mod1.third_function(
|
||||
alpha, -- correction A
|
||||
beta, -- correction B
|
||||
gamma -- factor C
|
||||
)
|
||||
end
|
||||
|
||||
-----
|
||||
-- A useful macro. This is an example of a custom 'kind'.
|
||||
-- @macro first_macro
|
||||
-- @see second_function
|
||||
|
||||
---- general configuration table
|
||||
-- @table config
|
||||
-- @field A alpha
|
||||
-- @field B beta
|
||||
-- @field C gamma
|
||||
mod1.config = {
|
||||
A = 1,
|
||||
B = 2,
|
||||
C = 3
|
||||
}
|
||||
|
||||
--[[--
|
||||
Another function. Using a Lua block comment
|
||||
@param p a parameter
|
||||
]]
|
||||
function mod1.zero_function(p)
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
-- ldoc -c mod1.ld .
|
||||
project = 'mod1'
|
||||
description = 'showing various ldoc comment styles'
|
||||
title = 'mod docs'
|
||||
-- may be a table containing files and directories
|
||||
file = 'mod1.lua'
|
||||
-- show local functions as well!
|
||||
all = true
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
------
|
||||
-- always need a doc comment to start!
|
||||
-- Can have a module with no internal doc comments,
|
||||
-- although you will get a warning. At least we no
|
||||
-- longer get a 'end-of-file' if there is no explicit
|
||||
-- module name.
|
||||
|
||||
----- not a doc comment -----
|
||||
-- a common style when just specifying an informative comment
|
||||
-- May start with a doc comment but has trailing hyphens
|
||||
|
||||
local g -- so g below must be marked as local
|
||||
|
||||
--- simple.
|
||||
--@param x a parameter
|
||||
function _M.f(x) end
|
||||
|
||||
--- implicit local function.
|
||||
-- Local functions appear in dump but only in docs if you say --all
|
||||
local function L(t,v) end
|
||||
|
||||
--- explicit local function.
|
||||
-- @local here
|
||||
function g(a,b) end
|
||||
|
||||
--- a table of this module
|
||||
_M.contents = {
|
||||
A = 'f', -- alpha
|
||||
B = 'g' -- beta
|
||||
}
|
||||
|
||||
--- another way to do parameters.
|
||||
function _M.kay(
|
||||
a, -- ay
|
||||
b, -- bee
|
||||
) end
|
||||
|
||||
--- a field of this module.
|
||||
_M.constant = 'hello'
|
||||
|
||||
--- functions can also be like so.
|
||||
_M.why = function(x,y)
|
||||
end
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue