Jump to: navigation, search

LDT/User Area/LuaDocumentor

Revision as of 05:18, 20 September 2012 by Sbernard.sierrawireless.com (Talk | contribs) (How to install it)


LuaDocumentor allow users to generate HTML documentation and API files from some code documented using Lua documentation language. The generated HTML is similar to ldoc. It means you can probably reuse an existing ldoc CSS with virtually no modifications. The other output of LuaDocumentor is API files, an API file for a module is the original file, without the code with only the Lua document language. This is use to expose API without exposing the code. This mode is largely used to create Execution Environements.

LuaDocumentor is based on popular lua libraries : lfs, metalua, lapp and template from penlight.

How to install it

  • LuaDocumentor depends on lfs, so you need to install it :
    • For windows : If you have installed luaforwindows, you should already have lfs.
    • For linux : Generaly you could find it on your official system package repository.
    • Both : You can use luarock to intall it too.
  • Download the right archive, depending of your system architecture. (this is because we deliver the metalua code as bytecode lua)
  • Extract it.

Command line detail

luadocumentor: tool for Lua Documentation Language

  • -f, --format (default doc) Define output format :
    • doc: Will produce HTML documentation from specified file(s) or directories.
    • api: Will produce API file(s) from specified file(s) or directories.
  • -d, --dir (default docs) Define an output directory. If the given directory doesn't exist, it will be created.
  • -h, --help Display the help.
  • -s, --style (default !) The path of your own css file, if you don't want to use the default one. (usefull only for the doc format)
  • [directories|files] Define the paths or the directories of inputs files. Only Lua or C files containing a @module tag will be considered.


lua luadocumentor.lua .
Create a folder called docs containing the HTML documentation of each valid lua file under the current folder.

lua luadocumentor.lua -f api -d /tmp/output file1.lua file2.lua
Create API files for file1.lua and file2.lua in the /tmp/output folder.

lua luadocumentor.lua -f doc -d /tmp/output -s my.css /tmp/directory /tmp/file.lua
Create HTML files for the file.lua and all valid lua file in the directory in the output folder. Use my.css as stylesheet.