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
|
return raw
|
||||||
|
|
||||||
|
|
||||||
def cli_docs(app):
|
def get_cli_docs():
|
||||||
info = app.builder.info
|
|
||||||
info(bold('creating CLI documentation...'))
|
|
||||||
documented_cmds = []
|
documented_cmds = []
|
||||||
undocumented_cmds = []
|
undocumented_cmds = []
|
||||||
|
|
||||||
for script in entry_points['console_scripts'] + entry_points['gui_scripts']:
|
for script in entry_points['console_scripts'] + entry_points['gui_scripts']:
|
||||||
module = script[script.index('=')+1:script.index(':')].strip()
|
module = script[script.index('=')+1:script.index(':')].strip()
|
||||||
cmd = script[: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)))
|
documented_cmds.append((cmd, getattr(module, 'option_parser')(cmd)))
|
||||||
else:
|
else:
|
||||||
undocumented_cmds.append(cmd)
|
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]))
|
documented_cmds.sort(cmp=lambda x, y: cmp(x[0], y[0]))
|
||||||
undocumented_cmds.sort()
|
undocumented_cmds.sort()
|
||||||
@ -338,8 +342,20 @@ def guilabel_role(typ, rawtext, text, *args, **kwargs):
|
|||||||
return menusel_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):
|
def setup(app):
|
||||||
from docutils.parsers.rst import roles
|
from docutils.parsers.rst import roles
|
||||||
|
setup_man_pages(app)
|
||||||
app.add_builder(EPUBHelpBuilder)
|
app.add_builder(EPUBHelpBuilder)
|
||||||
app.add_builder(LaTeXHelpBuilder)
|
app.add_builder(LaTeXHelpBuilder)
|
||||||
app.connect('source-read', source_read_handler)
|
app.connect('source-read', source_read_handler)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user