SF.net SVN: docutils:[10169 ] trunk/docutils
milde--- via Docutils-checkins <[email protected]> Mon, 16 Jun 2025 10:05:36 +0000
| Newsgroups | gmane.text.docutils.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 10169
http://sourceforge.net/p/docutils/code/10169
Author: milde
Date: 2025-06-16 10:05:35 +0000 (Mon, 16 Jun 2025)
Log Message:
-----------
Add alias "rst-class" for the "class" directive.
Improves the compatibility with Sphinx which overwrites the "class" directive
with "domain specific" directives (by default "py:class").
The alias is added to the English-language mappings for directive names
(similar to "section-numbering") so that missing translations don't lead
failures. As English names are used as fallback, the alias works independent
of the document language.
Modified Paths:
--------------
trunk/docutils/HISTORY.rst
trunk/docutils/RELEASE-NOTES.rst
trunk/docutils/docs/ref/rst/directives.rst
trunk/docutils/docutils/parsers/rst/languages/en.py
trunk/docutils/test/test_parsers/test_rst/test_directives/test_class.py
Modified: trunk/docutils/HISTORY.rst
===================================================================
--- trunk/docutils/HISTORY.rst 2025-06-16 09:58:04 UTC (rev 10168)
+++ trunk/docutils/HISTORY.rst 2025-06-16 10:05:35 UTC (rev 10169)
@@ -24,6 +24,12 @@
external target but "name" must be unique across the document.
So far, the name was silently dropped.
+* docutils/parsers/rst/languages/en.py
+
+ Add alias "rst-class" for the "class" directive to improve the
+ compatibility with Sphinx.
+
+
Release 0.22rc3 (2025-06-10)
============================
Modified: trunk/docutils/RELEASE-NOTES.rst
===================================================================
--- trunk/docutils/RELEASE-NOTES.rst 2025-06-16 09:58:04 UTC (rev 10168)
+++ trunk/docutils/RELEASE-NOTES.rst 2025-06-16 10:05:35 UTC (rev 10169)
@@ -250,6 +250,8 @@
Drop the "name" option of the "target-notes" directive.
(Report an error instead of silently ignoring the value.)
+New alias "rst-class" for the `"class"`_ directive to improve the
+compatibility with Sphinx.
Release 0.22rc3 (2025-06-10)
@@ -1484,6 +1486,7 @@
.. _"colwidth" attribute: docs/ref/doctree.html#colwidth
.. _<doctest_block>: docs/ref/doctree.html#doctest-block
+.. _"class": docs/ref/rst/directives.html#class
.. _csv-table: docs/ref/rst/directives.html#csv-table
.. _"date": docs/ref/rst/directives.html#date
.. _doctest block: docs/ref/rst/restructuredtext.html#doctest-blocks
Modified: trunk/docutils/docs/ref/rst/directives.rst
===================================================================
--- trunk/docutils/docs/ref/rst/directives.rst 2025-06-16 09:58:04 UTC (rev 10168)
+++ trunk/docutils/docs/ref/rst/directives.rst 2025-06-16 10:05:35 UTC (rev 10169)
@@ -1277,7 +1277,7 @@
These directives may be used multiple times, cumulatively. There is
currently support for only one header and footer.
-.. note::
+.. tip::
While it is possible to use the "header" and "footer" directives to
create navigational elements for web pages, you should be aware
@@ -1289,8 +1289,6 @@
documentation generator like Sphinx_ rather than the "header" and
"footer" directives.
- .. _Sphinx: http://sphinx-doc.org/
-
In addition to the use of these directives to populate header and
footer content, content may also be added automatically by the
processing system. For example, if certain runtime settings are
@@ -1740,6 +1738,7 @@
.. _class directive:
+.. _rst-class:
Class
=====
@@ -1746,7 +1745,7 @@
.. class:: field-indent-13em
-:Directive Type: "class"
+:Directive Type: "class" or "rst-class" (synonyms) [#]_
:Doctree Element: `\<pending>`_
:Directive Arguments: one or more, required
(class names / attribute values)
@@ -1812,6 +1811,14 @@
<paragraph>
Special block quote.
+.. [#] Sphinx_ uses the directive name "class" for `domain specific`__
+ directives (by default "`py:class`__").
+ The "rst-class" synonym is compatible with Sphinx.
+
+ __ https://www.sphinx-doc.org/en/master/usage/domains/
+ __ https://www.sphinx-doc.org/en/master/usage/domains/python.html
+ #directive-py-class
+
.. [#] Elements that are not shown in the output (comments_,
`substitution definitions`_, `hyperlink targets`_, ...) as well as
"header_" and "footer_" directives are skipped.
@@ -2258,8 +2265,11 @@
Whitespace is removed (cf. `external hyperlink targets`_ in the
reStructuredText specification).
+.. References
+
.. _codecs: https://docs.python.org/3/library/codecs.html
.. _relative reference: https://www.rfc-editor.org/rfc/rfc3986.html#section-4.2
+.. _Sphinx: http://sphinx-doc.org/
.. _Standard Encodings:
https://docs.python.org/3/library/codecs.html#standard-encodings
Modified: trunk/docutils/docutils/parsers/rst/languages/en.py
===================================================================
--- trunk/docutils/docutils/parsers/rst/languages/en.py 2025-06-16 09:58:04 UTC (rev 10168)
+++ trunk/docutils/docutils/parsers/rst/languages/en.py 2025-06-16 10:05:35 UTC (rev 10169)
@@ -54,6 +54,7 @@
'unicode': 'unicode',
'date': 'date',
'class': 'class',
+ 'rst-class': 'class', # Sphinx compatibility alias
'role': 'role',
'default-role': 'default-role',
'title': 'title',
Modified: trunk/docutils/test/test_parsers/test_rst/test_directives/test_class.py
===================================================================
--- trunk/docutils/test/test_parsers/test_rst/test_directives/test_class.py 2025-06-16 09:58:04 UTC (rev 10168)
+++ trunk/docutils/test/test_parsers/test_rst/test_directives/test_class.py 2025-06-16 10:05:35 UTC (rev 10169)
@@ -23,6 +23,9 @@
class ParserTestCase(unittest.TestCase):
+
+ maxDiff = None
+
def test_parser(self):
parser = Parser()
settings = get_default_settings(Parser)
@@ -65,6 +68,25 @@
<paragraph classes="class1 class2">
And this one.
"""],
+["""\
+.. rst-class:: class1 class2
+..
+
+ The classes will be applied to this block quote.
+""",
+"""\
+<document source="test data">
+ <pending>
+ .. internal attributes:
+ .transform: docutils.transforms.misc.ClassAttribute
+ .details:
+ class: ['class1', 'class2']
+ directive: 'rst-class'
+ <comment xml:space="preserve">
+ <block_quote>
+ <paragraph>
+ The classes will be applied to this block quote.
+"""],
]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.