文档化 Lua 代码

lua-users home
wiki

以下是一些关于文档化 Lua 代码的笔记

注释:发行版的集成模块文档

关于为许多模块提供集成文档,供纳入 LuaDistributions,以下是我的情况概述……隐藏在 tarball 中的 README(示例 [10])效果并不特别好。Kepler 的努力促成了可能被称为“doc.css”的 HTML 格式的普及(示例 [4])。总体来说,它不算差。它是一种相对宽松(不严格)的格式,通常能有效地涵盖定性部分和 API 参考部分,让人想起 Perl POD 的特点(只是如果更多 Lua 模块以 POD 中普遍存在的 SYNOPSIS 部分开头就更好了)。重要的是要注意,Lua 参考手册也大致遵循这种宽松的格式。然后出现了更结构化的、类似于类浏览器/JavaDoc 的 LuaDoc(示例 [5]),尽管我认为这种用于函数参数文档(@param)的“填空”风格并不总是鼓励清晰的文档。Lua 参考手册不采用这种方法,而且我没看到有人抱怨。然而,更结构化格式的一个优点是,它允许在独立开发的模块的 API 之间进行系统性的互联,即使这些文档被移动或翻译成不同的格式;不过,即使是更宽松的 POD 也提供了这方面的基础。多年前,我曾建议 Lua 标准化 POD [6],虽然它有点古怪,但在 Perl 中效果很好,在 Lua 中也会起作用,但它并未流行起来。最近,出现了受 Python 启发的 reStructuredText/Sphinx(示例 [7]),它比 POD 略进一步,并提供针对多种输出格式(DHTML、PDF、HTML Help .chm 等)的目标。Sphinx 是一个经过验证且支持良好的系统(类似于 cmake),尽管对某些人来说有点重,同样,它在 Lua 社区可能不会流行(如果有什么会流行的话)。Markdown 很受欢迎,尤其是在 github 鼓励的轻量级 README 文件方面,而 github 在 Lua 社区越来越受欢迎,但 markdown 对于 API 之间的互联等内容来说有点太轻量了。--DavidManura

最终,我认为人们通常喜欢遵循示例。例如,Kepler 遵循了参考手册的宽松文档格式,并最终引领了 doc.css 的趋势,许多非 Kepler 项目(甚至 Roberto 的 lpeg)也效仿了这一点。我记得 Kepler 一体化包中的 Xavante 安装曾经生成一个 index.html 页面链接到每个子项目的索引。除了重新格式化/重写文档(这是没人愿意做的)之外,我认为添加对渲染几种流行格式(LuaDoc、Markdown)到 HTML 的支持,并为所有已安装的项目生成一个主 index.html 页面,这已是我们可以达到的最大程度。一些项目会集成得更好,希望这能起到示范作用。--HishamMuhammad

类似这样的东西存在于 Windows 帮助(chm)文档中,位于似乎已废弃的 Lua All In One (AIO) Distribution: http://luaaio.luaforge.net/documentation.html(截图)或 http://luaaio.luaforge.net/download.html(CHM 下载)。它不是最好的,但总比没有好,而且是一个开端。

RecentChanges · preferences
编辑 · 历史
最后编辑于 2020 年 10 月 24 日下午 12:29 GMT (差异)