##// END OF EJS Templates
status: add support for log-like template keywords and functions...
status: add support for log-like template keywords and functions It's bound to ctx2 since "hg status" can be considered to show the status of the files at ctx2 given ctx1 as the base.

File last commit:

r28076:18c6b271 default
r38563:85e3aa21 @67 default
Show More
runrst
61 lines | 1.9 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:]
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 refuri = "hg.1.html#%s" % cmd
Martin Geisler
doc: make links for hg role...
r10974 if cmd == 'help' and args:
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 if args[0] == 'config':
# :hg:`help config`
refuri = "hgrc.5.html"
FUJIWARA Katsunori
doc: translate from :hg:`help config.SECTION` to a valid link to hgrc.5.html...
r28076 elif args[0].startswith('config.'):
# :hg:`help config.SECTION...`
refuri = "hgrc.5.html#%s" % args[0].split('.', 2)[1]
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 elif len(args) >= 2 and args[0] == '-c':
# :hg:`help -c COMMAND ...` is equivalent to :hg:`COMMAND`
# (mainly for :hg:`help -c config`)
refuri = "hg.1.html#%s" % args[1]
else:
refuri = "hg.1.html#%s" % args[0]
Martin Geisler
doc: make links for hg role...
r10974 node = nodes.reference(rawtext, '', linktext,
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 refuri=refuri)
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)