summaryrefslogtreecommitdiff
path: root/sphinx
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx')
-rw-r--r--sphinx/directives/other.py27
-rw-r--r--sphinx/writers/html.py15
-rw-r--r--sphinx/writers/latex.py9
-rw-r--r--sphinx/writers/manpage.py8
-rw-r--r--sphinx/writers/texinfo.py9
-rw-r--r--sphinx/writers/text.py6
6 files changed, 32 insertions, 42 deletions
diff --git a/sphinx/directives/other.py b/sphinx/directives/other.py
index 59931a55..e8955d16 100644
--- a/sphinx/directives/other.py
+++ b/sphinx/directives/other.py
@@ -14,7 +14,7 @@ from docutils.parsers.rst.directives.misc import Class
from docutils.parsers.rst.directives.misc import Include as BaseInclude
from sphinx import addnodes
-from sphinx.locale import _
+from sphinx.locale import versionlabels, _
from sphinx.util import url_re, docname_join
from sphinx.util.nodes import explicit_title_re, set_source_info, \
process_index_entry
@@ -190,19 +190,32 @@ class VersionChange(Directive):
set_source_info(self, node)
node['type'] = self.name
node['version'] = self.arguments[0]
+ text = versionlabels[self.name] % self.arguments[0]
if len(self.arguments) == 2:
inodes, messages = self.state.inline_text(self.arguments[1],
self.lineno+1)
- node.extend(inodes)
- if self.content:
- self.state.nested_parse(self.content, self.content_offset, node)
- ret = [node] + messages
+ para = nodes.paragraph(self.arguments[1], '', *inodes)
+ set_source_info(self, para)
+ node.append(para)
else:
- ret = [node]
+ messages = []
+ if self.content:
+ self.state.nested_parse(self.content, self.content_offset, node)
+ if len(node):
+ if isinstance(node[0], nodes.paragraph) and node[0].rawsource:
+ content = nodes.inline(node[0].rawsource, translatable=True)
+ content.source = node[0].source
+ content.line = node[0].line
+ content += node[0].children
+ node[0].replace_self(nodes.paragraph('', '', content))
+ node[0].insert(0, nodes.inline('', '%s: ' % text))
+ else:
+ para = nodes.paragraph('', '', nodes.inline('', '%s.' % text))
+ node.append(para)
env = self.state.document.settings.env
# XXX should record node.source as well
env.note_versionchange(node['type'], node['version'], node, node.line)
- return ret
+ return [node] + messages
class SeeAlso(BaseAdmonition):
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py
index 252cedc4..d450b2c7 100644
--- a/sphinx/writers/html.py
+++ b/sphinx/writers/html.py
@@ -17,7 +17,7 @@ from docutils import nodes
from docutils.writers.html4css1 import Writer, HTMLTranslator as BaseTranslator
from sphinx import addnodes
-from sphinx.locale import admonitionlabels, versionlabels, _
+from sphinx.locale import admonitionlabels, _
from sphinx.util.smartypants import sphinx_smarty_pants
try:
@@ -157,15 +157,9 @@ class HTMLTranslator(BaseTranslator):
self.body.append('</em>')
def visit_versionmodified(self, node):
- self.body.append(self.starttag(node, 'p', CLASS=node['type']))
- text = versionlabels[node['type']] % node['version']
- if len(node):
- text += ': '
- else:
- text += '.'
- self.body.append('<span class="versionmodified">%s</span>' % text)
+ self.body.append(self.starttag(node, 'div', CLASS=node['type']))
def depart_versionmodified(self, node):
- self.body.append('</p>\n')
+ self.body.append('</div>\n')
# overwritten
def visit_reference(self, node):
@@ -310,6 +304,9 @@ class HTMLTranslator(BaseTranslator):
if isinstance(node.parent, addnodes.desc_content):
# Never compact desc_content items.
return False
+ if isinstance(node.parent, addnodes.versionmodified):
+ # Never compact versionmodified nodes.
+ return False
return BaseTranslator.should_be_compact_paragraph(self, node)
def visit_compact_paragraph(self, node):
diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py
index ef2197c6..371c0114 100644
--- a/sphinx/writers/latex.py
+++ b/sphinx/writers/latex.py
@@ -22,7 +22,7 @@ from docutils.writers.latex2e import Babel
from sphinx import addnodes
from sphinx import highlighting
from sphinx.errors import SphinxError
-from sphinx.locale import admonitionlabels, versionlabels, _
+from sphinx.locale import admonitionlabels, _
from sphinx.util import split_into
from sphinx.util.osutil import ustrftime
from sphinx.util.pycompat import any
@@ -1053,12 +1053,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
depart_warning = _depart_named_admonition
def visit_versionmodified(self, node):
- intro = versionlabels[node['type']] % node['version']
- if node.children:
- intro += ': '
- else:
- intro += '.'
- self.body.append(intro)
+ pass
def depart_versionmodified(self, node):
pass
diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
index 6e405d5a..6b68971e 100644
--- a/sphinx/writers/manpage.py
+++ b/sphinx/writers/manpage.py
@@ -20,7 +20,7 @@ except ImportError:
has_manpage_writer = False
from sphinx import addnodes
-from sphinx.locale import admonitionlabels, versionlabels, _
+from sphinx.locale import admonitionlabels, _
from sphinx.util.osutil import ustrftime
@@ -157,12 +157,6 @@ class ManualPageTranslator(BaseTranslator):
def visit_versionmodified(self, node):
self.visit_paragraph(node)
- text = versionlabels[node['type']] % node['version']
- if len(node):
- text += ': '
- else:
- text += '.'
- self.body.append(text)
def depart_versionmodified(self, node):
self.depart_paragraph(node)
diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py
index aa7ed685..cf5cb9ee 100644
--- a/sphinx/writers/texinfo.py
+++ b/sphinx/writers/texinfo.py
@@ -17,7 +17,7 @@ from os import path
from docutils import nodes, writers
from sphinx import addnodes, __version__
-from sphinx.locale import admonitionlabels, versionlabels, _
+from sphinx.locale import admonitionlabels, _
from sphinx.util import ustrftime
from sphinx.writers.latex import collected_footnote
@@ -1225,12 +1225,7 @@ class TexinfoTranslator(nodes.NodeVisitor):
self.body.append('\n')
def visit_versionmodified(self, node):
- intro = versionlabels[node['type']] % node['version']
- if node.children:
- intro += ': '
- else:
- intro += '.'
- self.body.append('\n%s' % self.escape(intro))
+ self.body.append('\n')
def depart_versionmodified(self, node):
self.body.append('\n')
diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py
index 96576911..14d7c952 100644
--- a/sphinx/writers/text.py
+++ b/sphinx/writers/text.py
@@ -17,7 +17,7 @@ from docutils import nodes, writers
from docutils.utils import column_width
from sphinx import addnodes
-from sphinx.locale import admonitionlabels, versionlabels, _
+from sphinx.locale import admonitionlabels, _
class TextWrapper(textwrap.TextWrapper):
@@ -680,10 +680,6 @@ class TextTranslator(nodes.NodeVisitor):
def visit_versionmodified(self, node):
self.new_state(0)
- if node.children:
- self.add_text(versionlabels[node['type']] % node['version'] + ': ')
- else:
- self.add_text(versionlabels[node['type']] % node['version'] + '.')
def depart_versionmodified(self, node):
self.end_state()