summaryrefslogtreecommitdiff
path: root/doc/development/tutorials
diff options
context:
space:
mode:
authorSviatoslav Sydorenko <wk@sydorenko.org.ua>2019-10-22 14:52:48 +0200
committerSviatoslav Sydorenko <wk@sydorenko.org.ua>2019-10-22 14:54:57 +0200
commit842fbfa1e8ac9a88b97efbcf6020a98a103af1d0 (patch)
tree6466b1eebb890e19066e392bbe52701177a6215f /doc/development/tutorials
parenta6a2a59ab0abfaf510d3dcbc43231468d3dc1fff (diff)
downloadsphinx-git-842fbfa1e8ac9a88b97efbcf6020a98a103af1d0.tar.gz
Warn about dangers of inheriting nodes in conf.py
Closes #6751
Diffstat (limited to 'doc/development/tutorials')
-rw-r--r--doc/development/tutorials/todo.rst14
1 files changed, 14 insertions, 0 deletions
diff --git a/doc/development/tutorials/todo.rst b/doc/development/tutorials/todo.rst
index f4ac85ac9..fa97c580b 100644
--- a/doc/development/tutorials/todo.rst
+++ b/doc/development/tutorials/todo.rst
@@ -107,6 +107,20 @@ is just a "general" node.
<http://docutils.sourceforge.net/docs/ref/doctree.html>`__ and :ref:`Sphinx
<nodes>`.
+.. DANGER::
+
+ It is important to know that while you can extend Sphinx without
+ leaving your ``conf.py``, if you declare an inherited node right
+ there, you'll hit an unobvious :py:class:`PickleError`. So if
+ something goes wrong, please make sure that you put inherited nodes
+ into a separate Python module.
+
+ For more details, see:
+
+ - https://github.com/sphinx-doc/sphinx/issues/6751
+ - https://github.com/sphinx-doc/sphinx/issues/1493
+ - https://github.com/sphinx-doc/sphinx/issues/1424
+
.. rubric:: The directive classes
A directive class is a class deriving usually from