diff options
Diffstat (limited to 'Data/Libraries/LDoc/tests/example')
-rw-r--r-- | Data/Libraries/LDoc/tests/example/config.ld | 14 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/laurent/config.ld | 3 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/laurent/ldoc.css | 271 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/laurent/ldoc.ltp | 201 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/laurent/mod1.lua | 61 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/mod1.lua | 81 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/modtest.lua | 18 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/mylib.c | 62 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/style/config.ld | 14 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/style/ldoc.css | 299 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/style/ldoc.ltp | 135 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/style/mod1.lua | 60 | ||||
-rw-r--r-- | Data/Libraries/LDoc/tests/example/style/simple.lua | 51 |
13 files changed, 1270 insertions, 0 deletions
diff --git a/Data/Libraries/LDoc/tests/example/config.ld b/Data/Libraries/LDoc/tests/example/config.ld new file mode 100644 index 0000000..f0d8a38 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/config.ld @@ -0,0 +1,14 @@ +-- ldoc configuration file +title = "testmod docs" +project = "testmod" + +description = [[ +This description applies to the project as a whole. +]] + +alias("p","param") + +file = {'mod1.lua','modtest.lua','mylib.c'} + +new_type("macro","Macros") + diff --git a/Data/Libraries/LDoc/tests/example/laurent/config.ld b/Data/Libraries/LDoc/tests/example/laurent/config.ld new file mode 100644 index 0000000..5f4b8ae --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/laurent/config.ld @@ -0,0 +1,3 @@ +style = true +template = true +file = 'mod1.lua' diff --git a/Data/Libraries/LDoc/tests/example/laurent/ldoc.css b/Data/Libraries/LDoc/tests/example/laurent/ldoc.css new file mode 100644 index 0000000..7c9023d --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/laurent/ldoc.css @@ -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;} + diff --git a/Data/Libraries/LDoc/tests/example/laurent/ldoc.ltp b/Data/Libraries/LDoc/tests/example/laurent/ldoc.ltp new file mode 100644 index 0000000..7e4341b --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/laurent/ldoc.ltp @@ -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>
\ No newline at end of file diff --git a/Data/Libraries/LDoc/tests/example/laurent/mod1.lua b/Data/Libraries/LDoc/tests/example/laurent/mod1.lua new file mode 100644 index 0000000..4b5c9b0 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/laurent/mod1.lua @@ -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 + + + diff --git a/Data/Libraries/LDoc/tests/example/mod1.lua b/Data/Libraries/LDoc/tests/example/mod1.lua new file mode 100644 index 0000000..5475818 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/mod1.lua @@ -0,0 +1,81 @@ +--------------------------- +-- 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 +-- @p k1 first +-- @p k2 second + +--- first function. Some description +-- @param p1 first parameter +-- @param p2 second parameter +function mod1.first_fun(p1,p2) +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 + + +------- +-- Multiple params may match a varargs function. +-- Generally, ldoc tries to be strict about matching params and formal arguments, +-- but this is relaxed for varargs: `function other(p,...)` +-- @param p +-- @param q +-- @param r +function mod1.other(p,...) +-- something cunning with select(2,...) +end + +------- +-- A function with typed arguments. +-- The tparam tag is followed by the 'type'. There is no standard way +-- to represent Lua types, but you can adopt a convention. Type names +-- will be resolved. treturn must include a description after the type. +-- @tparam string name +-- @tparam number age +-- @treturn string modified age +function mod1.typed(name,age) + +end diff --git a/Data/Libraries/LDoc/tests/example/modtest.lua b/Data/Libraries/LDoc/tests/example/modtest.lua new file mode 100644 index 0000000..cefabf1 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/modtest.lua @@ -0,0 +1,18 @@ +------- +-- A script. +-- Scripts are not containers in the sense that modules are, +-- (although perhaps the idea of 'commands' could be adopted for some utilities) +-- It allows any upfront script comments to be included in the +-- documentation. Any long string marked with the 'usage' tag will also appear +-- in this area. +-- +-- @script modtest + +--- @usage +local usage = [[ +modtest NAME +where NAME is your favourite name! + +]] + +print ('hello',arg[1]) diff --git a/Data/Libraries/LDoc/tests/example/mylib.c b/Data/Libraries/LDoc/tests/example/mylib.c new file mode 100644 index 0000000..fd9c675 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/mylib.c @@ -0,0 +1,62 @@ +/// A sample C extension. +// Demonstrates using ldoc's C/C++ support. Can either use /// or /*** */ etc. +// @module mylib +#include <string.h> +#include <math.h> + +// includes for Lua +#include <lua.h> +#include <lauxlib.h> +#include <lualib.h> + +/*** +Create a table with given array and hash slots. +@function createtable +@param narr initial array slots, default 0 +@param nrec initial hash slots, default 0 +*/ +static int l_createtable (lua_State *L) { + int narr = luaL_optint(L,1,0); + int nrec = luaL_optint(L,2,0); + lua_createtable(L,narr,nrec); + return 1; +} + +/*** +Solve a quadratic equation. +@function solve +@tparam num a coefficient of x^2 +@tparam num b coefficient of x +@tparam num c constant +@treturn num first root +@treturn num second root +*/ +static int l_solve (lua_State *L) { + double a = lua_tonumber(L,1); // coeff of x*x + double b = lua_tonumber(L,2); // coef of x + double c = lua_tonumber(L,3); // constant + double abc = b*b - 4*a*c; + if (abc < 0.0) { + lua_pushnil(L); + lua_pushstring(L,"imaginary roots!"); + return 2; + } else { + abc = sqrt(abc); + a = 2*a; + lua_pushnumber(L,(-b + abc)/a); + lua_pushnumber(L,(+b - abc)/a); + return 2; + } +} + +static const luaL_reg mylib[] = { + {"createtable",l_createtable}, + {"solve",l_solve}, + {NULL,NULL} +}; + +int luaopen_mylib(lua_State *L) +{ + luaL_register (L, "mylib", mylib); + return 1; +} diff --git a/Data/Libraries/LDoc/tests/example/style/config.ld b/Data/Libraries/LDoc/tests/example/style/config.ld new file mode 100644 index 0000000..6a96275 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/style/config.ld @@ -0,0 +1,14 @@ +file = 'simple.lua' +project = 'simple' +description = [[ +a simple project + +##References + + - [Background]() + - [Discussion]() + +]] +style = true +template = true +format = 'markdown' diff --git a/Data/Libraries/LDoc/tests/example/style/ldoc.css b/Data/Libraries/LDoc/tests/example/style/ldoc.css new file mode 100644 index 0000000..3b270a1 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/style/ldoc.css @@ -0,0 +1,299 @@ +/* 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: #f0f0ff; + border-left: 2px solid #cccccc; +} + +#navigation { + float: left; + width: 14em; + vertical-align: top; + background-color: #f0f0f0; + overflow: visible; +} + +#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: 14em; + width: 40em; + padding: 1em; + border-left: 2px solid #cccccc; + border-right: 2px solid #cccccc; + background-color: #f0ffff; +} + +#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 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.file_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.file_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} + +table.file_list td.name { background-color: #fff0ff; } + +table.file_list td.summary { width: 100%; } + +table.function_list { + border-width: 1px; + border-style: solid; + border-color: #aaaaaa; + border-collapse: collapse; +} +table.function_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #eeeeee; +} + +table.function_list td.name { background-color: #f0f0ff; } + +table.function_list td.summary { width: 100%; } + +table.table_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.table_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} + +table.table_list td.name { background-color: #f0f0f0; } + +table.table_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;} diff --git a/Data/Libraries/LDoc/tests/example/style/ldoc.ltp b/Data/Libraries/LDoc/tests/example/style/ldoc.ltp new file mode 100644 index 0000000..24d786a --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/style/ldoc.ltp @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <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 iter = ldoc.modules.iter +# local M = ldoc.markup + +<!-- Menu --> + +# local function no_spaces(s) return s:gsub('%s','_') end +# local function use_li(ls) +# if #ls > 1 then return '<li>','</li>' else return '','' end +# end +# local function display_name(item) +# if item.type == 'function' then return item.name..' '..item.args +# else return item.name end +# end + + +<div id="navigation"> +<h1>$(ldoc.project)</h1> +# if not ldoc.single then +<ul> + <li><a href="../index.html">Index</a></li> +</ul> +# else +<p>$(M(ldoc.description))</p> +# end + +# if module then +<hr/> +<ul> +# for kind, items in module.kinds() do +# for item in items() do + <li><a href="#$(item.name)">$(display_name(item))</a></li> +# end +# end +</ul> +# end + +</div> + +<div id="content"> + +# if module then + +<h1>Module <code>$(module.name)</code></h1> + +<p>$(M(module.summary))</p> +<p>$(M(module.description))</p> + +<br/> +<br/> + +# --- currently works for both Functions and Tables. The params field either contains +# --- function parameters or table fields. +# for kind, items in module.kinds() do + <dl class="function"> +# for item in items() do + <dt> + <a name = "$(item.name)"></a> + <strong>$(display_name(item))</strong> + </dt> + <dd> + $(M(item.summary)) + $(M(item.description)) + +# 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="$(see.mod).html#$(see.name)">$(see.label)</a>$(il) +# end -- for + </ul> +# end -- if see +</dd> +# end -- for items +</dl> +# end -- for kinds + +# else -- if module + +# if ldoc.description then + <p>$(M(ldoc.description))</p> +# end + +# for kind, mods in ldoc.kinds() do +<h2>$(kind)</h2> +# kind = kind:lower() +# for m in mods() do +<table class="module_list"> + <tr> + <td class="name"><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"> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> + diff --git a/Data/Libraries/LDoc/tests/example/style/mod1.lua b/Data/Libraries/LDoc/tests/example/style/mod1.lua new file mode 100644 index 0000000..9ba0b21 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/style/mod1.lua @@ -0,0 +1,60 @@ +--------------------------- +-- 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 +-- @p k1 first +-- @p k2 second + +--- first function. Some description +-- @param p1 first parameter +-- @param p2 second parameter +function mod1.first_fun(p1,p2) +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 + + + diff --git a/Data/Libraries/LDoc/tests/example/style/simple.lua b/Data/Libraries/LDoc/tests/example/style/simple.lua new file mode 100644 index 0000000..e569461 --- /dev/null +++ b/Data/Libraries/LDoc/tests/example/style/simple.lua @@ -0,0 +1,51 @@ +--------------- +-- Markdown-flavoured and very simple no-structure style. +-- +-- Here the idea is to structure the document entirely with [Markdown](). +-- +-- Using the default markdown processor can be a little irritating: you are +-- required to give a blank line before starting lists. The default stylesheet +-- is not quite right, either. +-- +module 'mod' + +--- Combine two strings _first_ and _second_ in interesting ways. +function combine(first,second) +end + +--- Combine a whole bunch of strings. +function combine_all(...) +end + +--- +-- Creates a constant capture. This pattern matches the empty string and +-- produces all given values as its captured values. +function lpeg.Cc([value, ...]) end + + +--- Split a string _str_. Returns the first part and the second part, so that +-- `combine(first,second)` is equal to _s_. +function split(s) +end + +--- Split a string _text_ into a table. +-- Returns: +-- +-- - `name` the name of the text +-- - `pairs` an array of pairs +-- - `key` +-- - `value` +-- - `length` +-- + +function split_table (text) +end + +--- A table of useful constants. +-- +-- - `alpha` first correction factor +-- - `beta` second correction factor +-- +-- @table constants + + |