diff --git a/sphinx/roles.py b/sphinx/roles.py index e93e00d67..76ec311de 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -22,17 +22,10 @@ from sphinx.util.nodes import split_explicit_title generic_docroles = { - 'command' : nodes.strong, - 'dfn' : nodes.emphasis, - 'guilabel' : nodes.strong, - 'kbd' : nodes.literal, 'mailheader' : addnodes.literal_emphasis, - 'makevar' : nodes.strong, 'manpage' : addnodes.literal_emphasis, 'mimetype' : addnodes.literal_emphasis, 'newsgroup' : addnodes.literal_emphasis, - 'program' : nodes.strong, # XXX should be an x-ref - 'regexp' : nodes.literal, } for rolename, nodeclass in generic_docroles.iteritems(): @@ -40,6 +33,26 @@ for rolename, nodeclass in generic_docroles.iteritems(): role = roles.CustomRole(rolename, generic, {'classes': [rolename]}) roles.register_local_role(rolename, role) +simple_docroles = [ + 'command', + 'dfn', + 'guilabel', + 'kbd', + 'makevar', + 'program', + 'regexp', + ] + +def simple_docrole(typ, rawtext, text, lineno, inliner, options={}, content=[]): + node = nodes.inline() + textnode = nodes.Text(text, rawtext) + node += textnode + node["classes"].append(typ) + return [node], [] + +for rolename in simple_docroles: + roles.register_local_role(rolename, simple_docrole) + # -- generic cross-reference role ---------------------------------------------- diff --git a/sphinx/themes/basic/static/basic.css b/sphinx/themes/basic/static/basic.css index 7cfacd5b9..9cd07bb30 100644 --- a/sphinx/themes/basic/static/basic.css +++ b/sphinx/themes/basic/static/basic.css @@ -368,6 +368,28 @@ dl.glossary dt { margin-left: 1.5em; } +.command, +.guilabel, +.makevar, +.program +{ + font-weight: bold; +} + +.kbd, +.regexp +{ + font-family: monospace; + white-space: pre-wrap; + background-color: #ecf0f3; + padding: 0 1px 0 1px; + font-size: 0.95em; +} + +.dfn { + font-style: italic; +} + /* -- code displays --------------------------------------------------------- */ pre {