##// END OF EJS Templates
doc: make sure we use our own code for generating man pages...
doc: make sure we use our own code for generating man pages docutils would in some situations pick up its own manpage.py instead of doc/manpage.py. Renaming to hgmanpage.py makes it less ambiguous.

File last commit:

r10974:854ac04d default
r11639:a0c5f531 stable
Show More
runrst
42 lines | 1.2 KiB | text/plain | TextLexer
#!/usr/bin/env python
#
# runrst - register custom roles and run correct writer
#
# Copyright 2010 Matt Mackall <mpm@selenic.com> and others
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
"""usage: %s WRITER args...
where WRITER is the name of a Docutils writer such as 'html' or 'manpage'
"""
import sys
from docutils.parsers.rst import roles
from docutils.core import publish_cmdline
from docutils import nodes, utils
def role_hg(name, rawtext, text, lineno, inliner,
options={}, content=[]):
text = "hg " + utils.unescape(text)
linktext = nodes.literal(rawtext, text)
parts = text.split()
cmd, args = parts[1], parts[2:]
if cmd == 'help' and args:
cmd = args[0] # link to 'dates' for 'hg help dates'
node = nodes.reference(rawtext, '', linktext,
refuri="hg.1.html#%s" % cmd)
return [node], []
roles.register_local_role("hg", role_hg)
if __name__ == "__main__":
if len(sys.argv) < 2:
sys.stderr.write(__doc__ % sys.argv[0])
sys.exit(1)
writer = sys.argv[1]
del sys.argv[1]
publish_cmdline(writer_name=writer)