495 lines
16 KiB
Text
495 lines
16 KiB
Text
Metadata-Version: 2.4
|
||
Name: docutils
|
||
Version: 0.22
|
||
Summary: Docutils -- Python Documentation Utilities
|
||
Author-email: David Goodger <goodger@python.org>
|
||
Maintainer-email: docutils-develop list <docutils-develop@lists.sourceforge.net>
|
||
Requires-Python: >=3.9
|
||
Description-Content-Type: text/x-rst
|
||
Classifier: Development Status :: 4 - Beta
|
||
Classifier: Environment :: Console
|
||
Classifier: Intended Audience :: Developers
|
||
Classifier: Intended Audience :: End Users/Desktop
|
||
Classifier: Intended Audience :: Information Technology
|
||
Classifier: Intended Audience :: Other Audience
|
||
Classifier: Intended Audience :: System Administrators
|
||
Classifier: License :: Public Domain
|
||
Classifier: License :: OSI Approved :: BSD License
|
||
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
|
||
Classifier: Operating System :: OS Independent
|
||
Classifier: Programming Language :: Python
|
||
Classifier: Programming Language :: Python :: 3
|
||
Classifier: Programming Language :: Python :: 3 :: Only
|
||
Classifier: Programming Language :: Python :: 3.9
|
||
Classifier: Programming Language :: Python :: 3.10
|
||
Classifier: Programming Language :: Python :: 3.11
|
||
Classifier: Programming Language :: Python :: 3.12
|
||
Classifier: Programming Language :: Python :: 3.13
|
||
Classifier: Programming Language :: Python :: 3.14
|
||
Classifier: Topic :: Documentation
|
||
Classifier: Topic :: Software Development
|
||
Classifier: Topic :: Software Development :: Documentation
|
||
Classifier: Topic :: Text Editors :: Documentation
|
||
Classifier: Topic :: Text Processing
|
||
Classifier: Topic :: Text Processing :: General
|
||
Classifier: Topic :: Text Processing :: Markup
|
||
Classifier: Topic :: Text Processing :: Markup :: HTML
|
||
Classifier: Topic :: Text Processing :: Markup :: LaTeX
|
||
Classifier: Topic :: Text Processing :: Markup :: Markdown
|
||
Classifier: Topic :: Text Processing :: Markup :: reStructuredText
|
||
Classifier: Topic :: Text Processing :: Markup :: XML
|
||
Classifier: Topic :: Utilities
|
||
Classifier: Natural Language :: English
|
||
Classifier: Natural Language :: Afrikaans
|
||
Classifier: Natural Language :: Arabic
|
||
Classifier: Natural Language :: Catalan
|
||
Classifier: Natural Language :: Catalan (Valencian)
|
||
Classifier: Natural Language :: Chinese (Simplified)
|
||
Classifier: Natural Language :: Chinese (Traditional)
|
||
Classifier: Natural Language :: Czech
|
||
Classifier: Natural Language :: Danish
|
||
Classifier: Natural Language :: Dutch
|
||
Classifier: Natural Language :: Esperanto
|
||
Classifier: Natural Language :: Finnish
|
||
Classifier: Natural Language :: French
|
||
Classifier: Natural Language :: Galician
|
||
Classifier: Natural Language :: Georgian
|
||
Classifier: Natural Language :: German
|
||
Classifier: Natural Language :: Hebrew
|
||
Classifier: Natural Language :: Italian
|
||
Classifier: Natural Language :: Japanese
|
||
Classifier: Natural Language :: Korean
|
||
Classifier: Natural Language :: Latvian
|
||
Classifier: Natural Language :: Lithuanian
|
||
Classifier: Natural Language :: Persian
|
||
Classifier: Natural Language :: Polish
|
||
Classifier: Natural Language :: Portuguese (Brazilian)
|
||
Classifier: Natural Language :: Russian
|
||
Classifier: Natural Language :: Slovak
|
||
Classifier: Natural Language :: Spanish
|
||
Classifier: Natural Language :: Swedish
|
||
Classifier: Natural Language :: Ukrainian
|
||
License-File: COPYING.rst
|
||
License-File: licenses/BSD-0-Clause.rst
|
||
License-File: licenses/BSD-2-Clause.rst
|
||
License-File: licenses/gpl-3-0.txt
|
||
Project-URL: Changelog, https://docutils.sourceforge.io/HISTORY.html
|
||
Project-URL: Code, https://sourceforge.net/p/docutils/code/
|
||
Project-URL: Documentation, https://docutils.sourceforge.io/docs/
|
||
Project-URL: Download, https://pypi.org/project/docutils/
|
||
Project-URL: Homepage, https://docutils.sourceforge.io
|
||
Project-URL: Issue tracker, https://sourceforge.net/p/docutils/bugs/
|
||
|
||
=======================
|
||
README: Docutils 0.22
|
||
=======================
|
||
|
||
:Author: David Goodger
|
||
:Contact: goodger@python.org
|
||
:Date: $Date: 2025-07-29 17:03:01 +0200 (Di, 29. Jul 2025) $
|
||
:Web site: https://docutils.sourceforge.io/
|
||
:Copyright: This document has been placed in the public domain.
|
||
|
||
:Abstract: Docutils is a modular system for processing documentation into
|
||
useful formats, such as HTML, XML, and LaTeX.
|
||
For input Docutils supports reStructuredText, an easy-to-read,
|
||
what-you-see-is-what-you-get plaintext markup syntax.
|
||
|
||
.. contents::
|
||
|
||
|
||
Quick-Start
|
||
===========
|
||
|
||
This is for those who want to get up & running quickly.
|
||
|
||
1. Docutils requires **Python**, available from
|
||
https://www.python.org/.
|
||
See Dependencies_ below for details.
|
||
|
||
2. Install the latest stable release from PyPi with pip_::
|
||
|
||
pip install docutils
|
||
|
||
For alternatives and details, see section `Installation`_ below.
|
||
|
||
3. Use the `front-end scripts`_ to convert reStructuredText documents.
|
||
Try for example::
|
||
|
||
docutils FAQ.rst FAQ.html
|
||
|
||
See Usage_ below for details.
|
||
|
||
|
||
Purpose
|
||
=======
|
||
|
||
The purpose of the Docutils project is to provide a set of tools for
|
||
processing plaintext documentation into useful formats, such as HTML,
|
||
LaTeX, troff (man pages), OpenOffice, and native XML. Support for the
|
||
following sources has been implemented:
|
||
|
||
* Standalone files.
|
||
|
||
* `PEPs (Python Enhancement Proposals)`_.
|
||
|
||
Support for the following sources is planned or provided by
|
||
`third party tools`_:
|
||
|
||
* Inline documentation from Python modules and packages, extracted
|
||
with namespace context.
|
||
|
||
* Email (RFC-822 headers, quoted excerpts, signatures, MIME parts).
|
||
|
||
* Wikis, with global reference lookups of "wiki links".
|
||
|
||
* Compound documents, such as multiple chapter files merged into a
|
||
book.
|
||
|
||
* And others as discovered.
|
||
|
||
.. _PEPs (Python Enhancement Proposals):
|
||
https://peps.python.org/pep-0012
|
||
.. _third party tools: docs/user/links.html#related-applications
|
||
|
||
|
||
Dependencies
|
||
============
|
||
|
||
To run the code, Python_ must be installed.
|
||
(Python is pre-installed with most Linux distributions.)
|
||
|
||
* Since version 0.21, Docutils requires Python 3.9 or later.
|
||
* Docutils versions 0.19 to 0.20.1 require Python 3.7 or later.
|
||
* Docutils versions 0.16 to 0.18 require Python 2.7 or 3.5+.
|
||
|
||
The **type hints** added in version 0.22 use Python 3.10 syntax.
|
||
However, the Python interpreter treats them as annotations
|
||
unless ``typing.TYPE_CHECKING`` is set to ``True``.
|
||
|
||
.. _Python: https://www.python.org/.
|
||
|
||
|
||
Recommendations
|
||
---------------
|
||
|
||
Docutils uses the following packages for enhanced functionality, if they
|
||
are installed:
|
||
|
||
* The recommended installer is pip_, setuptools_ works, too.
|
||
|
||
* The `Python Imaging Library`_ (PIL) is used for some image
|
||
manipulation operations.
|
||
|
||
* The `Pygments`_ package provides syntax highlight of "code" directives
|
||
and roles.
|
||
|
||
* The `myst`_, `pycmark`_, or `recommonmark`_ parsers can be used to
|
||
parse input in "Markdown" (CommonMark_) format.
|
||
|
||
The `Docutils Link List <docs/user/links.html>`__ records projects that
|
||
users of Docutils and reStructuredText may find useful.
|
||
|
||
.. _pip: https://pypi.org/project/pip/
|
||
.. _setuptools: https://pypi.org/project/setuptools/
|
||
.. _Python Imaging Library: http://www.pythonware.com/products/pil/
|
||
.. _Pygments: https://pypi.org/project/Pygments/
|
||
.. _myst: https://pypi.org/project/myst-docutils/
|
||
.. _pycmark: https://pypi.org/project/pycmark/
|
||
.. _recommonmark: https://github.com/rtfd/recommonmark
|
||
.. _CommonMark: https://spec.commonmark.org/0.30/
|
||
|
||
|
||
Installation
|
||
============
|
||
|
||
The `Python Packaging User Guide`_ gives details how to
|
||
`use pip for installing`_.
|
||
|
||
* The simplest way is to install the latest *stable release* from PyPi::
|
||
|
||
pip install docutils
|
||
|
||
* To install a *pre-relase*, append the option ``--pre``.
|
||
|
||
* To install a `development version`_ *from source*:
|
||
|
||
1. Open a shell
|
||
|
||
2. Go to the directory containing the ``pyproject.toml`` file.
|
||
|
||
3. Install the package with **one** of the following commands::
|
||
|
||
pip install -e . # editable install
|
||
pip install . # regular install
|
||
|
||
or do a `"manual" install`_.
|
||
|
||
4. Optional steps:
|
||
|
||
* `Running the test suite`_
|
||
* `Converting the documentation`_
|
||
|
||
See also the OS-specific installation instructions below and
|
||
the `Docutils version repository`_ documentation.
|
||
|
||
* To install for a *specific Python version*, use this version in the
|
||
setup call, e.g. ::
|
||
|
||
python3.11 -m pip install docutils
|
||
|
||
If the python executable isn't on your path, you'll have to specify the
|
||
complete path, such as ``/usr/local/bin/python3.11``.
|
||
|
||
To install for different Python versions, repeat step 3 for every
|
||
required version. The last installed version will be used for the
|
||
``docutils`` command line application.
|
||
|
||
.. _Python Packaging User Guide: https://packaging.python.org/en/latest/
|
||
.. _use pip for installing:
|
||
https://packaging.python.org/en/latest/tutorials/installing-packages/
|
||
#use-pip-for-installing
|
||
.. _"editable" install:
|
||
https://pip.pypa.io/en/stable/topics/local-project-installs/
|
||
#editable-installs
|
||
.. _"manual" install: docs/dev/repository.html#manual-install
|
||
|
||
|
||
GNU/Linux, BSDs, Unix, Mac OS X, etc.
|
||
-------------------------------------
|
||
|
||
* Use ``su`` or ``sudo`` for a system-wide
|
||
installation as ``root``, e.g.::
|
||
|
||
sudo pip install docutils
|
||
|
||
|
||
Windows
|
||
-------
|
||
|
||
* The Python FAQ explains `how to run a Python program under Windows`__.
|
||
|
||
__ https://docs.python.org/3/faq/windows.html
|
||
#how-do-i-run-a-python-program-under-windows
|
||
|
||
* Usually, pip_ is automatically installed if you are using Python
|
||
downloaded from https://python.org. If not, see the
|
||
`pip documentation <https://pip.pypa.io/en/stable/installation/>`__.
|
||
|
||
* The command window should recognise the word ``py`` as an instruction to
|
||
start the interpreter, e.g.
|
||
|
||
py -m pip install docutils
|
||
|
||
If this does not work, you may have to specify the full path to the
|
||
Python executable.
|
||
|
||
|
||
Usage
|
||
=====
|
||
|
||
Start the "docutils" command line application with::
|
||
|
||
docutils [options] [<source> [<destination>]]
|
||
|
||
The default action is to convert a reStructuredText_ document to HTML5,
|
||
for example::
|
||
|
||
docutils test.rst test.html
|
||
|
||
Read the ``--help`` option output for details on options and arguments and
|
||
`Docutils Front-End Tools`_ for the full documentation of the various tools.
|
||
|
||
For programmatic use of the `docutils` Python package, read the
|
||
`API Reference Material`_ and the source code.
|
||
Remaining questions may be answered in the `Docutils Project
|
||
Documentation`_ or the Docutils-users_ mailing list.
|
||
|
||
Contributions are welcome!
|
||
|
||
.. _reStructuredText: https://docutils.sourceforge.io/rst.html
|
||
.. _front-end scripts:
|
||
.. _Docutils Front-End Tools: docs/user/tools.html
|
||
.. _API Reference Material: /docs/index.html
|
||
#api-reference-material-for-client-developers
|
||
.. _Docutils Project Documentation: /docs/index.html
|
||
|
||
|
||
Project Files & Directories
|
||
===========================
|
||
|
||
* README.rst: You're reading it.
|
||
|
||
* COPYING.rst: Public Domain Dedication and copyright details for
|
||
non-public-domain files (most are PD).
|
||
|
||
* FAQ.rst: Frequently Asked Questions (with answers!).
|
||
|
||
* RELEASE-NOTES.rst: Summary of the major changes in recent releases.
|
||
|
||
* HISTORY.rst: A detailed change log, for the current and all previous
|
||
project releases.
|
||
|
||
* BUGS.rst: Known bugs, and how to report a bug.
|
||
|
||
* THANKS.rst: List of contributors.
|
||
|
||
* pyproject.toml: Project metadata.
|
||
See "Installation" above.
|
||
|
||
* docutils: The project source directory, installed as a Python
|
||
package.
|
||
|
||
* docs: The project documentation directory. Read ``docs/index.rst``
|
||
for an overview.
|
||
|
||
* docs/user: The project user documentation directory. Contains the
|
||
following documents, among others:
|
||
|
||
- docs/user/tools.rst: Docutils Front-End Tools
|
||
- docs/user/latex.rst: Docutils LaTeX Writer
|
||
- docs/user/rst/quickstart.rst: A ReStructuredText Primer
|
||
- docs/user/rst/quickref.html: Quick reStructuredText (HTML only)
|
||
|
||
* docs/ref: The project reference directory.
|
||
``docs/ref/rst/restructuredtext.rst`` is the reStructuredText
|
||
reference.
|
||
|
||
* licenses: Directory containing copies of license files for
|
||
non-public-domain files.
|
||
|
||
* tools: Directory for Docutils front-end tools. See
|
||
``docs/user/tools.rst`` for documentation.
|
||
|
||
* test: Unit tests. Not required to use the software, but very useful
|
||
if you're planning to modify it. See `Running the Test Suite`_
|
||
below.
|
||
|
||
|
||
Development version
|
||
===================
|
||
|
||
While we are trying to follow a "release early & often" policy,
|
||
features are added frequently.
|
||
We recommend using a current snapshot or a working copy of the repository.
|
||
|
||
Repository check-out:
|
||
To keep up to date on the latest developments,
|
||
use a `working copy`__ of the `Docutils version repository`_.
|
||
|
||
Snapshots:
|
||
To get a repository _`snapshot`, go to
|
||
https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils/
|
||
and click the download snapshot button.
|
||
|
||
Unpack in a temporary directory,
|
||
**not** directly in Python's ``site-packages``.
|
||
|
||
See the `Installation`_ instructions above.
|
||
|
||
__ docs/dev/repository.html#checking-out-the-repository
|
||
.. _Docutils version repository: docs/dev/repository.html
|
||
.. _sandbox: https://docutils.sourceforge.io/sandbox/README.html
|
||
|
||
|
||
Converting the documentation
|
||
============================
|
||
|
||
After unpacking and installing the Docutils package, the following
|
||
shell commands will generate HTML for all included documentation::
|
||
|
||
cd <archive_directory_path>
|
||
tools/buildhtml.py .
|
||
|
||
On Windows systems, type::
|
||
|
||
cd <archive_directory_path>
|
||
py tools\buildhtml.py ..
|
||
|
||
The final directory name of the ``<archive_directory_path>`` is
|
||
"docutils" for snapshots. For official releases, the directory may be
|
||
called "docutils-X.Y.Z", where "X.Y.Z" is the release version.
|
||
|
||
Some files may generate system messages (warnings and errors). The
|
||
``docs/user/rst/demo.rst`` file (under the archive directory) contains
|
||
five intentional errors. (They test the error reporting mechanism!)
|
||
|
||
|
||
Running the Test Suite
|
||
======================
|
||
|
||
The test suite is documented in `Docutils Testing`_ (docs/dev/testing.rst).
|
||
|
||
To run the entire test suite, open a shell and use the following
|
||
commands::
|
||
|
||
cd <archive_directory_path>/test
|
||
./alltests.py
|
||
|
||
Under Windows, type::
|
||
|
||
cd <archive_directory_path>\test
|
||
python alltests.py
|
||
|
||
|
||
You should see a long line of periods, one for each test, and then a
|
||
summary like this::
|
||
|
||
Ran 1744 tests in 5.859s
|
||
|
||
OK (skipped=1)
|
||
Elapsed time: 6.235 seconds
|
||
|
||
The number of tests will grow over time, and the times reported will
|
||
depend on the computer running the tests.
|
||
Some test are skipped, if optional dependencies (`recommendations`_)
|
||
are missing.
|
||
The difference between the two times represents the time required to set
|
||
up the tests (import modules, create data structures, etc.).
|
||
|
||
A copy of the test output is written to the file ``alltests.out``.
|
||
|
||
If any of the tests fail, please `open a bug report`_ or `send an email`_
|
||
(see `Bugs <BUGS.html>`_).
|
||
Please include all relevant output, information about your operating
|
||
system, Python version, and Docutils version. To see the Docutils
|
||
version, look at the test output or use ::
|
||
|
||
docutils --version
|
||
|
||
.. _Docutils Testing: https://docutils.sourceforge.io/docs/dev/testing.html
|
||
.. _open a bug report:
|
||
https://sourceforge.net/p/docutils/bugs/
|
||
.. _send an email: mailto:docutils-users@lists.sourceforge.net
|
||
?subject=Test%20suite%20failure
|
||
.. _web interface: https://sourceforge.net/p/docutils/mailman/
|
||
|
||
|
||
Getting Help
|
||
============
|
||
|
||
All documentation can be reached from the `Project Documentation
|
||
Overview`_.
|
||
|
||
The SourceForge `project page`_ has links to the tracker, mailing
|
||
lists, and code repository.
|
||
|
||
If you have further questions or need assistance with Docutils or
|
||
reStructuredText, please post a message to the Docutils-users_ mailing
|
||
list.
|
||
|
||
.. _Project Documentation Overview: docs/index.html
|
||
.. _project page: https://sourceforge.net/p/docutils
|
||
.. _Docutils-users: docs/user/mailing-lists.html#docutils-users
|
||
|
||
|
||
.. Emacs settings
|
||
|
||
Local Variables:
|
||
mode: indented-text
|
||
mode: rst
|
||
indent-tabs-mode: nil
|
||
sentence-end-double-space: t
|
||
fill-column: 70
|
||
End:
|
||
|