##// END OF EJS Templates
Added signature for changeset d493d64757eb
Added signature for changeset d493d64757eb

File last commit:

r28076:18c6b271 default
r28291:8949d73b stable
Show More
runrst
49 lines | 1.5 KiB | text/plain | TextLexer
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971 #!/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
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 try:
from docutils.parsers.rst import roles
from docutils.core import publish_cmdline
from docutils import nodes, utils
except ImportError:
sys.stderr.write("abort: couldn't generate documentation: docutils "
"module is missing\n")
Martin Geisler
runrst: improve error message when Docutils is missing...
r15314 sys.stderr.write("please install python-docutils or see "
"http://docutils.sourceforge.net/\n")
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 sys.exit(-1)
Martin Geisler
doc, minirst: support hg interpreted text role
r10972
def role_hg(name, rawtext, text, lineno, inliner,
options={}, content=[]):
Martin Geisler
doc: make links for hg role...
r10974 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)
Martin Geisler
doc, minirst: support hg interpreted text role
r10972 return [node], []
roles.register_local_role("hg", role_hg)
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971
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)