diff options
| author | georg.brandl <devnull@localhost> | 2007-08-01 14:09:18 +0000 |
|---|---|---|
| committer | georg.brandl <devnull@localhost> | 2007-08-01 14:09:18 +0000 |
| commit | a4d85f24fa37b0bf611dccc74cde6ccd594ff0cb (patch) | |
| tree | 75b85c6c8da7ba6b196f758c8642b24ce8682936 /sphinx/roles.py | |
| parent | 678238ffe0c6245a7c07ab646ce5562d3f229505 (diff) | |
| download | sphinx-a4d85f24fa37b0bf611dccc74cde6ccd594ff0cb.tar.gz | |
Make system messages stand out in HTML output.
Diffstat (limited to 'sphinx/roles.py')
| -rw-r--r-- | sphinx/roles.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/sphinx/roles.py b/sphinx/roles.py index fa194c76..f52c5b0d 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -21,9 +21,6 @@ ws_re = re.compile(r'\s+') generic_docroles = { 'command' : nodes.strong, 'dfn' : nodes.emphasis, - 'file' : nodes.emphasis, - 'filenq' : nodes.emphasis, - 'filevar' : nodes.emphasis, 'guilabel' : nodes.strong, 'kbd' : nodes.literal, 'keyword' : nodes.literal, @@ -114,7 +111,25 @@ def xfileref_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): def menusel_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): - return [nodes.emphasis(rawtext, text.replace('-->', u'\N{TRIANGULAR BULLET}'))], [] + return [nodes.emphasis( + rawtext, utils.unescape(text).replace('-->', u'\N{TRIANGULAR BULLET}'))], [] + + +_filevar_re = re.compile('{([^}]+)}') + +def file_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): + text = utils.unescape(text) + retnodes = [] + pos = 0 + for m in _filevar_re.finditer(text): + if m.start() > pos: + txt = text[pos:m.start()] + retnodes.append(nodes.literal(txt, txt)) + retnodes.append(nodes.emphasis('', '', nodes.literal(m.group(1), m.group(1)))) + pos = m.end() + if pos < len(text): + retnodes.append(nodes.literal(text[pos:], text[pos:])) + return retnodes, [] specific_docroles = { @@ -137,6 +152,7 @@ specific_docroles = { 'token' : xfileref_role, 'menuselection' : menusel_role, + 'file' : file_role, } for rolename, func in specific_docroles.iteritems(): |
