From 98040af245029e9a9f4a42183ad8a7978de5d2e3 Mon Sep 17 00:00:00 2001 From: Timotheus Kampik Date: Sun, 23 Dec 2018 16:44:03 +0100 Subject: [PATCH 1/3] #5660 add classes for different version modications Generic class: ``versionmodified` *Changed* class: ``changed`` *Added* class: ``added`` *Deprecated* class: ``deprecated`` --- sphinx/domains/changeset.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sphinx/domains/changeset.py b/sphinx/domains/changeset.py index 21626ba35..6770ea07d 100644 --- a/sphinx/domains/changeset.py +++ b/sphinx/domains/changeset.py @@ -27,13 +27,18 @@ if False: from sphinx.application import Sphinx # NOQA from sphinx.environment import BuildEnvironment # NOQA - versionlabels = { 'versionadded': _('New in version %s'), 'versionchanged': _('Changed in version %s'), 'deprecated': _('Deprecated since version %s'), } +versionlabel_classes = { + 'versionadded': 'added', + 'versionchanged': 'changed', + 'deprecated': 'deprecated', +} + locale.versionlabels = DeprecatedDict( versionlabels, 'sphinx.locale.versionlabels is deprecated. ' @@ -78,6 +83,7 @@ class VersionChange(SphinxDirective): messages = [] if self.content: self.state.nested_parse(self.content, self.content_offset, node) + classes = ['versionmodified', versionlabel_classes[self.name]] if len(node): if isinstance(node[0], nodes.paragraph) and node[0].rawsource: content = nodes.inline(node[0].rawsource, translatable=True) @@ -87,11 +93,11 @@ class VersionChange(SphinxDirective): node[0].replace_self(nodes.paragraph('', '', content, translatable=False)) para = cast(nodes.paragraph, node[0]) - para.insert(0, nodes.inline('', '%s: ' % text, classes=['versionmodified'])) + para.insert(0, nodes.inline('', '%s: ' % text, classes=classes)) else: para = nodes.paragraph('', '', nodes.inline('', '%s.' % text, - classes=['versionmodified']), + classes=classes), translatable=False) node.append(para) From edf9d210b66d2cdd58c3024ccc06ed70546ac4fa Mon Sep 17 00:00:00 2001 From: Timotheus Kampik Date: Sun, 23 Dec 2018 17:01:19 +0100 Subject: [PATCH 2/3] #5660 adjust expected result to new classes Also, fix formating glitch --- sphinx/domains/changeset.py | 1 + tests/test_intl.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sphinx/domains/changeset.py b/sphinx/domains/changeset.py index 6770ea07d..4a515d2cc 100644 --- a/sphinx/domains/changeset.py +++ b/sphinx/domains/changeset.py @@ -27,6 +27,7 @@ if False: from sphinx.application import Sphinx # NOQA from sphinx.environment import BuildEnvironment # NOQA + versionlabels = { 'versionadded': _('New in version %s'), 'versionchanged': _('Changed in version %s'), diff --git a/tests/test_intl.py b/tests/test_intl.py index ee4defa0e..4961d2550 100644 --- a/tests/test_intl.py +++ b/tests/test_intl.py @@ -705,20 +705,20 @@ def test_html_versionchanges(app): return '' expect1 = ( - """

Deprecated since version 1.0: """ + """

Deprecated since version 1.0: """ """THIS IS THE FIRST PARAGRAPH OF DEPRECATED.

\n""" """

THIS IS THE SECOND PARAGRAPH OF DEPRECATED.

\n""") matched_content = get_content(result, "deprecated") assert expect1 == matched_content expect2 = ( - """

New in version 1.0: """ + """

New in version 1.0: """ """THIS IS THE FIRST PARAGRAPH OF VERSIONADDED.

\n""") matched_content = get_content(result, "versionadded") assert expect2 == matched_content expect3 = ( - """

Changed in version 1.0: """ + """

Changed in version 1.0: """ """THIS IS THE FIRST PARAGRAPH OF VERSIONCHANGED.

\n""") matched_content = get_content(result, "versionchanged") assert expect3 == matched_content From 643b5d455564becb5c49265c5e2c9d4f1eeb747b Mon Sep 17 00:00:00 2001 From: Timotheus Kampik Date: Sun, 23 Dec 2018 17:10:51 +0100 Subject: [PATCH 3/3] #5660 add change note --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index 5fa1f82d0..02a01cbea 100644 --- a/CHANGES +++ b/CHANGES @@ -132,6 +132,11 @@ Features added * LaTeX: support rendering (not in math, yet) of Greek and Cyrillic Unicode letters in non-Cyrillic document even with ``'pdflatex'`` as :confval:`latex_engine` (refs: #5645) +* #5660: The ``versionadded``, ``versionchanged`` and ``deprecated`` directives + are now generated with their own specific CSS classes + (``added``, ``changed`` and ``deprecated``, respectively) in addition to the + generic ``versionmodified`` class. + Bugs fixed ----------