summaryrefslogtreecommitdiff
path: root/sphinx/roles.py
diff options
context:
space:
mode:
authorgeorg.brandl <devnull@localhost>2007-08-17 06:27:35 +0000
committergeorg.brandl <devnull@localhost>2007-08-17 06:27:35 +0000
commit6062e212e7ee0b07d7f793631f8dcbb0769f1e9f (patch)
treebee7af6af21abb1455442d1351d8a1c5b8a2a33f /sphinx/roles.py
parenta480ab7cada2e770d46325cb2f0d74f2f8cf4d58 (diff)
downloadsphinx-6062e212e7ee0b07d7f793631f8dcbb0769f1e9f.tar.gz
Add glossary directive and :term: role for crossreferencing into the glossary.
Diffstat (limited to 'sphinx/roles.py')
-rw-r--r--sphinx/roles.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/sphinx/roles.py b/sphinx/roles.py
index 2f5dc6bb..6aefee04 100644
--- a/sphinx/roles.py
+++ b/sphinx/roles.py
@@ -20,7 +20,7 @@ ws_re = re.compile(r'\s+')
generic_docroles = {
'command' : nodes.strong,
- 'dfn' : addnodes.literal_emphasis,
+ 'dfn' : addnodes.emphasis,
'guilabel' : nodes.strong,
'kbd' : nodes.literal,
'keyword' : nodes.literal,
@@ -89,6 +89,7 @@ roles.register_local_role('rfc', indexmarkup_role)
# default is `literal`
innernodetypes = {
'ref': nodes.emphasis,
+ 'term': nodes.emphasis,
'token': nodes.strong,
}
@@ -106,7 +107,7 @@ def xfileref_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
typ in ('data', 'exc', 'func', 'class', 'const', 'attr', 'meth'):
text = text[1:]
pnode['refspecific'] = True
- pnode['reftarget'] = ws_re.sub('', text)
+ pnode['reftarget'] = ws_re.sub((' ' if typ == 'term' else ''), text)
pnode['modname'] = env.currmodule
pnode['classname'] = env.currclass
pnode += innernodetypes.get(typ, nodes.literal)(rawtext, text, classes=['xref'])
@@ -153,6 +154,7 @@ specific_docroles = {
'ref': xfileref_role,
'token' : xfileref_role,
+ 'term': xfileref_role,
'menuselection' : menusel_role,
'file' : emph_literal_role,