mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Code to easily generate man pages via sphinx-build
This commit is contained in:
parent
dc4f4a581f
commit
e752ebe2e3
@ -253,12 +253,9 @@ def mark_options(raw):
|
||||
return raw
|
||||
|
||||
|
||||
def cli_docs(app):
|
||||
info = app.builder.info
|
||||
info(bold('creating CLI documentation...'))
|
||||
def get_cli_docs():
|
||||
documented_cmds = []
|
||||
undocumented_cmds = []
|
||||
|
||||
for script in entry_points['console_scripts'] + entry_points['gui_scripts']:
|
||||
module = script[script.index('=')+1:script.index(':')].strip()
|
||||
cmd = script[:script.index('=')].strip()
|
||||
@ -272,6 +269,13 @@ def cli_docs(app):
|
||||
documented_cmds.append((cmd, getattr(module, 'option_parser')(cmd)))
|
||||
else:
|
||||
undocumented_cmds.append(cmd)
|
||||
return documented_cmds, undocumented_cmds
|
||||
|
||||
|
||||
def cli_docs(app):
|
||||
info = app.builder.info
|
||||
info(bold('creating CLI documentation...'))
|
||||
documented_cmds, undocumented_cmds = get_cli_docs()
|
||||
|
||||
documented_cmds.sort(cmp=lambda x, y: cmp(x[0], y[0]))
|
||||
undocumented_cmds.sort()
|
||||
@ -338,8 +342,20 @@ def guilabel_role(typ, rawtext, text, *args, **kwargs):
|
||||
return menusel_role(typ, rawtext, text, *args, **kwargs)
|
||||
|
||||
|
||||
def setup_man_pages(app):
|
||||
documented_cmds = get_cli_docs()[0]
|
||||
man_pages = []
|
||||
for cmd, option_parser in documented_cmds:
|
||||
path = 'generated/%s/%s' % (app.config.language, cmd)
|
||||
man_pages.append((
|
||||
path, cmd, cmd, 'Kovid Goyal', 1
|
||||
))
|
||||
app.config['man_pages'] = man_pages
|
||||
|
||||
|
||||
def setup(app):
|
||||
from docutils.parsers.rst import roles
|
||||
setup_man_pages(app)
|
||||
app.add_builder(EPUBHelpBuilder)
|
||||
app.add_builder(LaTeXHelpBuilder)
|
||||
app.connect('source-read', source_read_handler)
|
||||
|
Loading…
x
Reference in New Issue
Block a user