Mercurial > hg
comparison doc/runrst @ 10974:854ac04d712c
doc: make links for hg role
The system has a bit of smartness:
:hg:`update` -> links to hg.1.html#update
:hg:`help diffs` -> links to hg.1.html#diffs
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Fri, 23 Apr 2010 09:53:25 +0200 |
parents | 0a2c6948f5f4 |
children | 13d79a7bf5b7 |
comparison
equal
deleted
inserted
replaced
10973:49a07f441496 | 10974:854ac04d712c |
---|---|
17 from docutils.core import publish_cmdline | 17 from docutils.core import publish_cmdline |
18 from docutils import nodes, utils | 18 from docutils import nodes, utils |
19 | 19 |
20 def role_hg(name, rawtext, text, lineno, inliner, | 20 def role_hg(name, rawtext, text, lineno, inliner, |
21 options={}, content=[]): | 21 options={}, content=[]): |
22 node = nodes.literal(rawtext, "hg " + utils.unescape(text, True)) | 22 text = "hg " + utils.unescape(text) |
23 linktext = nodes.literal(rawtext, text) | |
24 parts = text.split() | |
25 cmd, args = parts[1], parts[2:] | |
26 if cmd == 'help' and args: | |
27 cmd = args[0] # link to 'dates' for 'hg help dates' | |
28 node = nodes.reference(rawtext, '', linktext, | |
29 refuri="hg.1.html#%s" % cmd) | |
23 return [node], [] | 30 return [node], [] |
24 | 31 |
25 roles.register_local_role("hg", role_hg) | 32 roles.register_local_role("hg", role_hg) |
26 | 33 |
27 if __name__ == "__main__": | 34 if __name__ == "__main__": |