diff options
author | Sviatoslav Sydorenko <wk@sydorenko.org.ua> | 2019-10-22 14:52:48 +0200 |
---|---|---|
committer | Sviatoslav Sydorenko <wk@sydorenko.org.ua> | 2019-10-22 14:54:57 +0200 |
commit | 842fbfa1e8ac9a88b97efbcf6020a98a103af1d0 (patch) | |
tree | 6466b1eebb890e19066e392bbe52701177a6215f /doc/development/tutorials | |
parent | a6a2a59ab0abfaf510d3dcbc43231468d3dc1fff (diff) | |
download | sphinx-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.rst | 14 |
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 |