The Sphinx documentation generator
Go to file
James Knight 75914c67c7 drop translator-specific unknown_visit calls
Removes the need for various translators from raising a
`NotImplementedError` exception when missing support for a specific node
type. docutils will already raise [1][2] a `NotImplementedError`
exception for these cases. This help reduce the implementation inside
Sphinx as well as prevents the possible undesired replication of
unknown-node handling with third-party extensions [3].

In most cases, generating a warning message for an unsupported node type
can be preferred. Providing an indication that a node is not supported
can be easier for a user of Sphinx to understand a limitation of a
builder over a generic "not implemented" exception. This commit takes
the logging call which is already used by `texinfo` and applies it to
the `SphinxTranslator` base class -- which any Sphinx translator
implementation can use.

[1]: https://repo.or.cz/docutils.git/blob/d169015ee0f412cffd69b33654d8a119d99bc0f3:/docutils/nodes.py#l2048
[2]: https://repo.or.cz/docutils.git/blob/53716a13b48128af6045139d3cd2909f61e7ed8e:/docutils/nodes.py#l1897
[3]: https://github.com/sphinx-doc/sphinx/issues/9921

Signed-off-by: James Knight <james.d.knight@live.com>
2021-12-05 15:03:57 -05:00
.circleci CircleCI: Test with python 3.8 2021-05-23 02:21:32 +09:00
.github Add i18n label to weekly transifex PR 2021-11-28 13:27:36 +09:00
doc Merge pull request #9852 from astrojuanlu/new-tutorial-deploying 2021-12-04 12:02:23 +09:00
sphinx drop translator-specific unknown_visit calls 2021-12-05 15:03:57 -05:00
tests Fix typos 2021-11-30 05:48:44 +08:00
utils Fix typo 2021-07-08 08:16:22 +09:00
.codecov.yml Revert "Enable patch status check for Codecov" 2020-03-15 11:09:06 +09:00
.gitignore C++, add support for parameterized noexcept specifier in function declarations 2020-04-24 23:59:41 +02:00
.readthedocs.yml doc: Build PDF document on readthedocs 2021-02-17 00:32:47 +09:00
AUTHORS Introduce fips_safe_md5, see issue #7611 2020-05-05 00:50:51 +02:00
babel.cfg doc: Upgraded babel.pocoo.org links to HTTPS 2021-05-16 16:37:51 +03:00
bindep.txt LaTeX: update default font configuration 2021-01-20 23:03:08 +01:00
CHANGES Merge pull request #9929 from jakobandersen/pre_line_wrap 2021-12-04 15:39:50 +09:00
CHANGES.old changelog: split off older changes (pre-1.0) to a CHANGES.old file 2013-03-29 13:05:49 +01:00
CODE_OF_CONDUCT docs: Tweaks to code of conduct 2020-06-02 12:10:24 +01:00
CONTRIBUTING.rst Minor typo in the contributing info 2020-12-16 12:09:17 -05:00
EXAMPLES Fix typos 2021-11-30 05:48:44 +08:00
karma.conf.js Closes #8123: Fix plus-handling (+) in search terms for basic html theme search 2020-08-19 18:01:27 +02:00
LICENSE A happy new year! 2021-01-01 13:40:48 +09:00
Makefile Run tests with Python Development mode 2020-11-11 14:20:18 +01:00
MANIFEST.in Fix py.typed file not being included in source archive 2021-03-05 14:19:22 +03:00
package-lock.json build(deps): bump glob-parent from 5.0.0 to 5.1.2 2021-06-08 11:45:30 +00:00
package.json Update npm packages 2019-07-13 20:01:31 +09:00
README.rst Remove leftover travis badge 2021-05-10 13:51:19 +02:00
setup.cfg Merge branch '3.x' 2020-12-31 14:33:09 +09:00
setup.py Close #9807: Restrict docutils to 0.17.x or older 2021-11-18 00:45:12 +09:00
tox.ini Remove py workaround 2021-11-05 13:14:42 +02:00

========
 Sphinx
========

.. image:: https://img.shields.io/pypi/v/sphinx.svg
   :target: https://pypi.org/project/Sphinx/
   :alt: Package on PyPI

.. image:: https://readthedocs.org/projects/sphinx/badge/?version=master
   :target: http://www.sphinx-doc.org/
   :alt: Documentation Status

.. image:: https://ci.appveyor.com/api/projects/status/github/sphinx-doc/sphinx?branch=master&svg=true
   :target: https://ci.appveyor.com/project/sphinxdoc/sphinx
   :alt: Build Status (AppVeyor)

.. image:: https://circleci.com/gh/sphinx-doc/sphinx.svg?style=shield
   :target: https://circleci.com/gh/sphinx-doc/sphinx
   :alt: Build Status (CircleCI)

.. image:: https://codecov.io/gh/sphinx-doc/sphinx/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/sphinx-doc/sphinx
   :alt: Code Coverage Status (Codecov)

.. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
   :target: https://opensource.org/licenses/BSD-3-Clause
   :alt: BSD 3 Clause

.. image:: https://codetriage.com/sphinx-doc/sphinx/badges/users.svg
   :target: https://codetriage.com/sphinx-doc/sphinx
   :alt: Open Source Helpers badge

Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl.  It was originally created
for the new Python documentation, and has excellent facilities for Python
project documentation, but C/C++ is supported as well, and more languages are
planned.

Sphinx uses reStructuredText as its markup language, and many of its strengths
come from the power and straightforwardness of reStructuredText and its parsing
and translating suite, the Docutils.

Among its features are the following:

* Output formats: HTML (including derivative formats such as HTML Help, Epub
  and Qt Help), plain text, manual pages and LaTeX or direct PDF output
  using rst2pdf
* Extensive cross-references: semantic markup and automatic links
  for functions, classes, glossary terms and similar pieces of information
* Hierarchical structure: easy definition of a document tree, with automatic
  links to siblings, parents and children
* Automatic indices: general index as well as a module index
* Code handling: automatic highlighting using the Pygments highlighter
* Flexible HTML output using the Jinja 2 templating engine
* Various extensions are available, e.g. for automatic testing of snippets
  and inclusion of appropriately formatted docstrings
* Setuptools integration

For more information, refer to the `the documentation`__.

.. __: http://www.sphinx-doc.org/

Installation
============

Sphinx is published on `PyPI`__ and can be installed from there::

   pip install -U sphinx

We also publish beta releases::

   pip install -U --pre sphinx

If you wish to install `Sphinx` for development purposes, refer to `the
contributors guide`__.

__ https://pypi.org/project/Sphinx/
__ http://www.sphinx-doc.org/en/master/internals/contributing.html

Documentation
=============

Documentation is available from `sphinx-doc.org`__.

__ http://www.sphinx-doc.org/

Get in touch
============

- Report bugs, suggest features or view the source code `on GitHub`_.
- For less well defined questions or ideas, use the `mailing list`_.

.. _on GitHub: https://github.com/sphinx-doc/sphinx
.. _mailing list: https://groups.google.com/forum/#!forum/sphinx-users

Please adhere to our `code of conduct`__.

__ http://www.sphinx-doc.org/en/master/code_of_conduct.html

Testing
=======

Continuous testing is provided by `Travis`__ (for unit tests and style checks
on Linux), `AppVeyor`__ (for unit tests on Windows), and `CircleCI`__ (for
large processes like TeX compilation).

For information on running tests locally, refer to `the contributors guide`__.

__ https://travis-ci.org/sphinx-doc/sphinx
__ https://ci.appveyor.com/project/sphinxdoc/sphinx
__ https://circleci.com/gh/sphinx-doc/sphinx
__ http://www.sphinx-doc.org/en/master/internals/contributing.html

Contributing
============

Refer to `the contributors guide`__.

__ http://www.sphinx-doc.org/en/master/internals/contributing.html

Release signatures
==================

Releases are signed with following keys:

* `498D6B9E <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x102C2C17498D6B9E>`_
* `5EBA0E07 <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x1425F8CE5EBA0E07>`_