我正在开发一个python CLI工具(在python2.6中使用optparse,但希望很快切换到python2.7),我即将编写手册页。我有一些生成动态手册页的经验:
- 创建一个专用方法,该方法在pod format中组成一个字符串并将其写入文件
- 执行pod2man命令以生成groff格式的数据,以传递给man命令
我还想生成与手册页内容相同的wiki页(使用pod,我可以通过pod2html生成html,并且可能html可以很容易地转换为wiki格式)。有人有更好的想法/流程来做这件事吗?
有一件事我发现有趣的是在这个链接:Creating Man Pages Using optparse and distutils
4条答案
按热度按时间qmelpv7a1#
在Python中生成文档的常用方法是使用Sphinx。例如,这是Python官方文档中使用的方法。一旦设置了Sphinx文档项目(参见this tutorial),就可以通过
make man
从Sphinx文档文件生成手册页。还应该修改conf.py
中的配置以生成适当的输出。(It值得注意的是,虽然Sphinx是用Python编写文档的常用工具,但这并不意味着它是生成手册页的常用工具。
vdgimpew2#
虽然sphinx是一个非常好的文档系统,但是它非常复杂,很难掌握,如果你需要一个很好的解决方案,我建议你看看我的项目build_manpage.py。
它并不能代替正确地记录你的项目(用sphinx或者任何你选择的方法),但是它对Python程序员有一些直接的好处:
man
语法。rst
语法(无论如何,总有一天您应该学习它...)如果您确实想使用一个更复杂的系统,有很多花里胡哨的东西,sphinx允许您将
rst
的页面转换为手册页。最近一个年轻的项目,采用与我的解析器类似的方法,扫描您的ArgumentParser
以生成rst
的页面,使用sphinx指令(这样您就不需要自己编写它了。(相反,我的扫描程序直接生成一个手册页)。请注意,这现在是pull request到add a manpage formatter in the standard library的一部分。
watbbzwu3#
如果你使用的是
click
,你可以使用click-man,它可以从点击应用程序生成手册页。rggaifut4#
有一件事我发现有趣的是在这个链接:使用optparse和distutils创建手册页
作为对你提到的帖子的直接跟进:现在可以使用argparse-manpage项目了。