mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Decl styling, move desc dynamic classes to domain base class
This commit is contained in:
parent
3c9a74cb0b
commit
d131ec7acb
@ -134,6 +134,9 @@ class desc(nodes.Admonition, nodes.Element):
|
||||
- The name of the object type in the domain, e.g., ``function``.
|
||||
"""
|
||||
|
||||
# TODO: can we introduce a constructor
|
||||
# that forces the specification of the domain and objtyp?
|
||||
|
||||
|
||||
class desc_signature(nodes.Part, nodes.Inline, nodes.TextElement):
|
||||
"""Node for a single object signature.
|
||||
|
@ -172,6 +172,7 @@ class ObjectDescription(SphinxDirective, Generic[T]):
|
||||
node['noindex'] = noindex = ('noindex' in self.options)
|
||||
if self.domain:
|
||||
node['classes'].append(self.domain)
|
||||
node['classes'].append(node['objtype'])
|
||||
|
||||
self.names: List[T] = []
|
||||
signatures = self.get_signatures()
|
||||
|
@ -107,8 +107,15 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
|
||||
def depart_start_of_file(self, node: Element) -> None:
|
||||
self.docnames.pop()
|
||||
|
||||
#############################################################
|
||||
# Domain-specific object descriptions
|
||||
#############################################################
|
||||
|
||||
# Top-level nodes for descriptions
|
||||
##################################
|
||||
|
||||
def visit_desc(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dl', CLASS=node['objtype']))
|
||||
self.body.append(self.starttag(node, 'dl'))
|
||||
|
||||
def depart_desc(self, node: Element) -> None:
|
||||
self.body.append('</dl>\n\n')
|
||||
@ -133,6 +140,15 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
|
||||
self.add_permalink_ref(node.parent, _('Permalink to this definition'))
|
||||
self.body.append('<br />')
|
||||
|
||||
def visit_desc_content(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dd', ''))
|
||||
|
||||
def depart_desc_content(self, node: Element) -> None:
|
||||
self.body.append('</dd>')
|
||||
|
||||
# Nodes for high-level structure in signatures
|
||||
##############################################
|
||||
|
||||
def visit_desc_addname(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'code', '', CLASS='descclassname'))
|
||||
|
||||
@ -205,11 +221,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
|
||||
def depart_desc_annotation(self, node: Element) -> None:
|
||||
self.body.append('</em>')
|
||||
|
||||
def visit_desc_content(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dd', ''))
|
||||
|
||||
def depart_desc_content(self, node: Element) -> None:
|
||||
self.body.append('</dd>')
|
||||
##############################################
|
||||
|
||||
def visit_versionmodified(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'div', CLASS=node['type']))
|
||||
|
@ -86,7 +86,7 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
|
||||
##################################
|
||||
|
||||
def visit_desc(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dl', CLASS=node['objtype']))
|
||||
self.body.append(self.starttag(node, 'dl'))
|
||||
|
||||
def depart_desc(self, node: Element) -> None:
|
||||
self.body.append('</dl>\n\n')
|
||||
@ -111,6 +111,12 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
|
||||
self.add_permalink_ref(node.parent, _('Permalink to this definition'))
|
||||
self.body.append('<br />')
|
||||
|
||||
def visit_desc_content(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dd', ''))
|
||||
|
||||
def depart_desc_content(self, node: Element) -> None:
|
||||
self.body.append('</dd>')
|
||||
|
||||
# Nodes for high-level structure in signatures
|
||||
##############################################
|
||||
|
||||
@ -186,11 +192,7 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
|
||||
def depart_desc_annotation(self, node: Element) -> None:
|
||||
self.body.append('</em>')
|
||||
|
||||
def visit_desc_content(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'dd', ''))
|
||||
|
||||
def depart_desc_content(self, node: Element) -> None:
|
||||
self.body.append('</dd>')
|
||||
##############################################
|
||||
|
||||
def visit_versionmodified(self, node: Element) -> None:
|
||||
self.body.append(self.starttag(node, 'div', CLASS=node['type']))
|
||||
|
Loading…
Reference in New Issue
Block a user