a custom styling example
This commit is contained in:
parent
74b52dacd1
commit
4642e358fb
|
@ -0,0 +1,22 @@
|
||||||
|
LDoc License
|
||||||
|
-----------
|
||||||
|
Copyright (C) 2011 Steve Donovan.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
file = 'simple.lua'
|
||||||
|
project = 'simple'
|
||||||
|
description = [[
|
||||||
|
a simple project
|
||||||
|
|
||||||
|
##References
|
||||||
|
|
||||||
|
- [Background]()
|
||||||
|
- [Discussion]()
|
||||||
|
|
||||||
|
]]
|
||||||
|
style = true
|
||||||
|
template = true
|
||||||
|
format = 'markdown'
|
|
@ -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;}
|
|
@ -0,0 +1,134 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html>
|
||||||
|
<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 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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
---------------
|
||||||
|
-- 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
|
||||||
|
|
||||||
|
--- 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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue