Module:Docbunto/doc
| This is a documentation subpage for Module:Docbunto. It may contain usage information, categories and other content that is not part of the original module page. |
| Description | Is an automatic documentation generator for Scribunto modules. |
|---|---|
| Author(s) |
|
| Code source | Docbunto |
| Status | Alpha |
| Dependencies | |
| Using code by | @stevedonovan (GitHub) |
Docbunto is an automatic documentation generator for Scribunto modules. The module is based on LuaDoc and LDoc. It produces documentation in the form of MediaWiki markup, using @tag-prefixed comments embedded in the source code of a Scribunto module. The taglet parser & doclet renderer Docbunto uses are also publicly exposed to other modules.
Docbunto code items are introduced by a block comment (--[[]]--), an inline comment with three hyphens (---), or an inline @tag comment. The module can use static code analysis to infer variable names, item privacy (local keyword), tables ({} constructor) and functions (function keyword). MediaWiki and Markdown formatting is supported.
Items are usually rendered in the order they are defined, if they are public items, or emulated classes extending the Lua primitives. There are many customisation options available to change Docbunto behaviour.
See Fandom Dev Wiki for full instructions.
Documentation
Package items
docbunto._main(args)(function)- Entrypoint for the module in a format easier for other modules to call.
- Parameter:
argsModule arguments. (table) - Returns: Module documentation output. (string)
docbunto.main(frame)(function)- Entrypoint for the module.
- Parameter:
frameModule frame. (table) - Returns: Module documentation output. (string)
docbunto.build(modname, options)(function)- Scribunto documentation generator entrypoint.
- Parameters:
modnameModule page name (without namespace). Default: second-level subpage. (string; optional)optionsConfiguration options. (table; optional)options.allInclude local items in documentation. (boolean; optional)options.autodocWhether this is being called automatically to fill in missing documentation. (boolean; optional)options.boilerplateRemoval of boilerplate (license block comments). (boolean; optional)options.captionInfobox image caption. (string; optional)options.codeOnly document Docbunto code items - exclude article infobox and lede from rendered documentation. Permits article to be edited in VisualEditor. (boolean; optional)options.colonFormat tags with a:suffix and without the@prefix. This bypasses the "doctag soup" some authors complain of. (boolean; optional)options.imageInfobox image. (string; optional)options.noluarefDon't link to the Lua reference manual for types. (boolean; optional)options.plainDisable Markdown formatting in documentation. (boolean; optional)options.prefacePreface text to insert between lede & item documentation, used to provide usage and code examples. (string; optional)options.simpleLimit documentation to descriptions only. Removes documentation of subitem tags such as@paramand@field(see list). (boolean; optional)options.sortSort documentation items in alphabetical order. (boolean; optional)options.stripRemove table index in documentation. (boolean; optional)options.ulistIndent subitems as<ul>lists (LDoc/JSDoc behaviour). (boolean; optional)
docbunto.taglet(mod_name, options)(function)- Docbunto taglet parser for Scribunto modules.
- Parameters:
- Errors:
- Returns: Module documentation data. (table)
docbunto.doclet(data, options)(function)- Doclet renderer for Docbunto taglet data.
- Parameters:
- Returns: Wikitext documentation output. (string)
docbunto.tags(table)- Token dictionary for Docbunto tags. Maps Docbunto tag names to tag tokens.
- Multi-line tags use the
'M'token. - Multi-line preformatted tags use the
'ML'token. - Identifier tags use the
'ID'token. - Single-line tags use the
'S'token. - Flags use the
'N'token. - Type tags use the
'T'token.
- Multi-line tags use the