diff options
Diffstat (limited to 'sphinx/writers')
-rw-r--r-- | sphinx/writers/html.py | 6 | ||||
-rw-r--r-- | sphinx/writers/latex.py | 48 | ||||
-rw-r--r-- | sphinx/writers/manpage.py | 34 | ||||
-rw-r--r-- | sphinx/writers/text.py | 30 |
4 files changed, 86 insertions, 32 deletions
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index 54d7311ea..d633f07e8 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -146,6 +146,12 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator): def depart_desc_content(self, node: Element) -> None: self.body.append('</dd>') + def visit_desc_inline(self, node: Element) -> None: + self.body.append(self.starttag(node, 'span', '')) + + def depart_desc_inline(self, node: Element) -> None: + self.body.append('</span>') + # Nodes for high-level structure in signatures ############################################## diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index edef5417f..546db9e31 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -698,6 +698,13 @@ class LaTeXTranslator(SphinxTranslator): def depart_subtitle(self, node: Element) -> None: self.body.append(self.context.pop()) + ############################################################# + # Domain-specific object descriptions + ############################################################# + + # Top-level nodes for descriptions + ################################## + def visit_desc(self, node: Element) -> None: if self.config.latex_show_urls == 'footnote': self.body.append(BLANKLINE) @@ -750,6 +757,31 @@ class LaTeXTranslator(SphinxTranslator): def depart_desc_signature_line(self, node: Element) -> None: self._depart_signature_line(node) + def visit_desc_content(self, node: Element) -> None: + if node.children and not isinstance(node.children[0], nodes.paragraph): + # avoid empty desc environment which causes a formatting bug + self.body.append('~') + + def depart_desc_content(self, node: Element) -> None: + pass + + def visit_desc_inline(self, node: Element) -> None: + self.body.append(r'\sphinxcode{\sphinxupquote{') + + def depart_desc_inline(self, node: Element) -> None: + self.body.append('}}') + + # Nodes for high-level structure in signatures + ############################################## + + def visit_desc_name(self, node: Element) -> None: + self.body.append(r'\sphinxbfcode{\sphinxupquote{') + self.literal_whitespace += 1 + + def depart_desc_name(self, node: Element) -> None: + self.body.append('}}') + self.literal_whitespace -= 1 + def visit_desc_addname(self, node: Element) -> None: self.body.append(r'\sphinxcode{\sphinxupquote{') self.literal_whitespace += 1 @@ -770,14 +802,6 @@ class LaTeXTranslator(SphinxTranslator): def depart_desc_returns(self, node: Element) -> None: self.body.append(r'}') - def visit_desc_name(self, node: Element) -> None: - self.body.append(r'\sphinxbfcode{\sphinxupquote{') - self.literal_whitespace += 1 - - def depart_desc_name(self, node: Element) -> None: - self.body.append('}}') - self.literal_whitespace -= 1 - def visit_desc_parameterlist(self, node: Element) -> None: # close name, open parameterlist self.body.append('}{') @@ -811,13 +835,7 @@ class LaTeXTranslator(SphinxTranslator): def depart_desc_annotation(self, node: Element) -> None: self.body.append('}}') - def visit_desc_content(self, node: Element) -> None: - if node.children and not isinstance(node.children[0], nodes.paragraph): - # avoid empty desc environment which causes a formatting bug - self.body.append('~') - - def depart_desc_content(self, node: Element) -> None: - pass + ############################################## def visit_seealso(self, node: Element) -> None: self.body.append(BLANKLINE) diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index c11c49892..a43f117ae 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -120,6 +120,13 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator): def depart_start_of_file(self, node: Element) -> None: pass + ############################################################# + # Domain-specific object descriptions + ############################################################# + + # Top-level nodes for descriptions + ################################## + def visit_desc(self, node: Element) -> None: self.visit_definition_list(node) @@ -139,6 +146,21 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator): def depart_desc_signature_line(self, node: Element) -> None: self.body.append(' ') + def visit_desc_content(self, node: Element) -> None: + self.visit_definition(node) + + def depart_desc_content(self, node: Element) -> None: + self.depart_definition(node) + + # Nodes for high-level structure in signatures + ############################################## + + def visit_desc_name(self, node: Element) -> None: + pass + + def depart_desc_name(self, node: Element) -> None: + pass + def visit_desc_addname(self, node: Element) -> None: pass @@ -157,12 +179,6 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator): def depart_desc_returns(self, node: Element) -> None: pass - def visit_desc_name(self, node: Element) -> None: - pass - - def depart_desc_name(self, node: Element) -> None: - pass - def visit_desc_parameterlist(self, node: Element) -> None: self.body.append('(') self.first_param = 1 @@ -191,11 +207,7 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator): def depart_desc_annotation(self, node: Element) -> None: pass - def visit_desc_content(self, node: Element) -> None: - self.visit_definition(node) - - def depart_desc_content(self, node: Element) -> None: - self.depart_definition(node) + ############################################## def visit_versionmodified(self, node: Element) -> None: self.visit_paragraph(node) diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index 5bd96de76..d8dab9181 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -536,6 +536,13 @@ class TextTranslator(SphinxTranslator): def depart_attribution(self, node: Element) -> None: pass + ############################################################# + # Domain-specific object descriptions + ############################################################# + + # Top-level nodes + ################# + def visit_desc(self, node: Element) -> None: pass @@ -555,6 +562,22 @@ class TextTranslator(SphinxTranslator): def depart_desc_signature_line(self, node: Element) -> None: self.add_text('\n') + def visit_desc_content(self, node: Element) -> None: + self.new_state() + self.add_text(self.nl) + + def depart_desc_content(self, node: Element) -> None: + self.end_state() + + def visit_desc_inline(self, node: Element) -> None: + pass + + def depart_desc_inline(self, node: Element) -> None: + pass + + # Nodes for high-level structure in signatures + ############################################## + def visit_desc_name(self, node: Element) -> None: pass @@ -606,12 +629,7 @@ class TextTranslator(SphinxTranslator): def depart_desc_annotation(self, node: Element) -> None: pass - def visit_desc_content(self, node: Element) -> None: - self.new_state() - self.add_text(self.nl) - - def depart_desc_content(self, node: Element) -> None: - self.end_state() + ############################################## def visit_figure(self, node: Element) -> None: self.new_state() |