The Sphinx documentation generator
Go to file
Antoine Beaupré 90f7c7ef3f
add link to manpages in HTML builder
It is useful to have the HTML documentation builder actually link to
real rendered versions of HTML manpages in its output. That way people
can click on manpages to get the full documentation. There are a few
services offering this online, so we do not explicitly enable one by
default, but the Debian manpages repository has a lot of the manpages
pre-rendered, so it is used as an example in the documentation.

The parsing work is done by a transformer class that parses manpage
objects and extract name/section elements. Those then can be used by
writers to cross-reference to actual sites. An implementation is done
in the two HTML writers, but could also apply to ePUB/PDF writers as
well in the future.

This is not enabled by default: the `manpages_url` configuration item
needs to be enabled to point to the chosen site. The `page`, `section`
and `path` parameters are expanded through Python string formatting in
the URL on output.

Unit tests are fairly limited, but should cover most common use-cases.
2018-01-11 13:20:34 -05:00
.circleci circleci: Install packages ourselves 2017-12-29 13:01:59 +00:00
.github refs #3222: add PULL_REQUEST_TEMPLATE.md 2016-12-18 01:20:55 +09:00
doc add link to manpages in HTML builder 2018-01-11 13:20:34 -05:00
sphinx add link to manpages in HTML builder 2018-01-11 13:20:34 -05:00
tests add link to manpages in HTML builder 2018-01-11 13:20:34 -05:00
utils A happy new year! 2018-01-01 01:10:10 +09:00
.appveyor.yml Merge pull request #4347 from tk0miya/diet_tests_on_appveyor 2018-01-07 20:36:13 +09:00
.gitignore gitignore: Ignore 'htmlcov' directory 2017-12-24 21:24:41 +00:00
.travis.yml test: Remove PYTHONWARNINGS from travis.yml 2018-01-06 16:28:52 +09:00
AUTHORS Merge branch 'stable' 2017-10-23 12:23:58 +09:00
babel.cfg babel location has changed from edgewall to pocoo 2017-05-30 00:50:25 +08:00
CHANGES Merge pull request #4325 from tk0miya/dont_emit_system_message_on_autodoc_warning 2018-01-09 00:03:18 +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
CONTRIBUTING.rst tests: Remove 'tests/run.py' 2017-12-29 13:02:31 +00:00
EXAMPLES Prefer https & readthedocs.io instead of readthedocs.org for links 2018-01-07 09:10:27 -08:00
LICENSE A happy new year! 2018-01-01 01:06:58 +09:00
Makefile tests: Remove 'tests/run.py' 2017-12-29 13:02:31 +00:00
MANIFEST.in Remove 'test-reqs.txt' 2017-10-10 14:13:09 +01:00
README.rst travis: Enable codecov coverage 2017-12-24 21:24:41 +00:00
setup.cfg test: Reduce DeprecationWarning on testing (from docutils) 2018-01-06 15:56:37 +09:00
setup.py Improve README 2017-12-19 15:00:06 +00:00
tox.ini Update PYTHONWARNINGS on tox.ini to reduce meaningless warnings 2018-01-06 20:14:20 +09:00

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

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

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

.. image:: https://travis-ci.org/sphinx-doc/sphinx.svg?branch=master
   :target: https://travis-ci.org/sphinx-doc/sphinx
   :alt: Build Status (Travis CI)

.. 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)

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.python.org/pypi/Sphinx
__ CONTRIBUTING.rst

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

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

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

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
__ CONTRIBUTING.rst

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

Refer to `the contributors guide`__.

__ CONTRIBUTING.rst

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>`_