Implemented "simple" docroles for things that only format the text in a different style.

This commit is contained in:
tpowers 2010-04-26 18:50:17 -07:00
parent 59cf3db674
commit 482720cf65
2 changed files with 42 additions and 7 deletions

View File

@ -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 ----------------------------------------------

View File

@ -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 {