生成Python CLI手册页
我正在开发一个用Python写的命令行工具(现在用的是Python 2.6的optparse,但希望很快能切换到Python 2.7),现在我准备写手册页(man page)。
我有一些生成动态手册页的经验,主要是通过:
我还想生成和手册页内容相同的wiki页面(通过pod我可以用pod2html生成html,可能这个html可以很容易地转成wiki格式)。有没有人有更好的想法或流程来实现这个?
我发现这个链接很有意思:使用optparse和distutils创建手册页
4 个回答
4
如果你在使用 click
这个工具,你可以试试 click-man。这个工具可以从你的 click 应用程序生成手册页。
6
虽然sphinx是一个非常棒的文档系统,但它真的很复杂,学起来很难。如果你需要一个快速的解决方案,我建议你看看我的项目 build_manpage.py。
这个工具并不能替代你用sphinx或者其他方式来好好记录项目的工作。但对于Python程序员来说,它有一些立竿见影的好处:
- 你不需要学习
man
的语法。 - 你也不需要学习
rst
的语法(不过,迟早你还是应该学会的……) 你不需要同时维护你的optparser或argparser和一个单独的格式化为man页面的外部文件(无论是man、rst还是其他转换系统)。
你只需在构建配置中添加一个文件,就能自动生成man页面!
如果你想使用一个更复杂的系统,带有很多花里胡哨的功能,sphinx允许你将rst
格式的页面转换为man页面。而一个最近新兴的项目,采用了类似我这个解析器的方法,扫描你的ArgumentParser
,生成带有sphinx指令的rst
格式页面(这样你就不需要自己写了)。
(相比之下,我的扫描器是直接生成man页面的)。
请注意,这个功能现在已经成为一个 拉取请求的一部分,目的是在标准库中添加一个man页面格式化工具。