diff options
| author | shimizukawa <shimizukawa@gmail.com> | 2013-03-17 10:58:28 +0900 |
|---|---|---|
| committer | shimizukawa <shimizukawa@gmail.com> | 2013-03-17 10:58:28 +0900 |
| commit | c81039d061cee191eb37aef2aa59fb4bf5723730 (patch) | |
| tree | 0326d93b336bff07f3d5b6ecc97119b3ac29eb75 /sphinx | |
| parent | e4ad1e0cc1f0970cf41e4515fcc61d0294157b21 (diff) | |
| parent | e79d96514be665612abf845bd306e94faaeb0500 (diff) | |
| download | sphinx-c81039d061cee191eb37aef2aa59fb4bf5723730.tar.gz | |
merge heads
Diffstat (limited to 'sphinx')
| -rw-r--r-- | sphinx/directives/other.py | 27 | ||||
| -rw-r--r-- | sphinx/writers/html.py | 15 | ||||
| -rw-r--r-- | sphinx/writers/latex.py | 9 | ||||
| -rw-r--r-- | sphinx/writers/manpage.py | 8 | ||||
| -rw-r--r-- | sphinx/writers/texinfo.py | 9 | ||||
| -rw-r--r-- | sphinx/writers/text.py | 6 |
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() |
