sphinxcontrib-spelling-4.2.0/ 0000755 0001017 0000765 00000000000 13312441221 020142 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/ 0000755 0001017 0000765 00000000000 13312441221 026423 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/not-zip-safe 0000644 0001017 0000765 00000000001 13312441215 030654 0 ustar dhellmann dhellmann 0000000 0000000
sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/namespace_packages.txt 0000644 0001017 0000765 00000000016 13312441215 032756 0 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib
sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/PKG-INFO 0000644 0001017 0000765 00000004730 13312441215 027527 0 ustar dhellmann dhellmann 0000000 0000000 Metadata-Version: 1.1
Name: sphinxcontrib-spelling
Version: 4.2.0
Summary: Sphinx spelling extension
Home-page: https://github.com/sphinx-contrib/spelling
Author: Doug Hellmann
Author-email: doug@doughellmann.com
License: UNKNOWN
Description-Content-Type: UNKNOWN
Description: .. -*- mode: rst -*-
=========================
sphinxcontrib-spelling
=========================
This package contains sphinxcontrb.spelling, a spelling checker for
Sphinx-based documentation. It uses PyEnchant_ to produce a report
showing misspelled words. Note: PyEnchant is now unmaintained.
Refer to the `main documentation page
`__ for
installation and setup details.
License
=======
Copyright Doug Hellmann, All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Doug Hellmann not be used
in advertising or publicity pertaining to distribution of the software
without specific, written prior permission.
DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
.. _PyEnchant: https://github.com/rfk/pyenchant
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Documentation
Classifier: Topic :: Utilities
sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/pbr.json 0000644 0001017 0000765 00000000056 13312441215 030105 0 ustar dhellmann dhellmann 0000000 0000000 {"git_version": "573197e", "is_release": true} sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/requires.txt 0000644 0001017 0000765 00000000267 13312441215 031033 0 ustar dhellmann dhellmann 0000000 0000000 PyEnchant>=1.6.5
Sphinx>=0.6
six
[linter]
flake8==3.5.0
[test]
fixtures>=3.0.0
python-subunit>=0.0.18
testrepository>=0.0.18
testscenarios>=0.4
testtools>=1.4.0
coverage!=4.4,>=4.0
sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/top_level.txt 0000644 0001017 0000765 00000000016 13312441215 031155 0 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib
sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/SOURCES.txt 0000644 0001017 0000765 00000002223 13312441221 030306 0 ustar dhellmann dhellmann 0000000 0000000 .testr.conf
.travis.yml
AUTHORS
ChangeLog
LICENSE
MANIFEST.in
Makefile
README
requirements.txt
setup.cfg
setup.py
tox.ini
docs/Makefile
docs/source/conf.py
docs/source/customize.rst
docs/source/developers.rst
docs/source/history.rst
docs/source/index.rst
docs/source/install.rst
docs/source/run.rst
docs/source/spelling_people.txt
docs/source/spelling_wordlist.txt
sphinxcontrib/__init__.py
sphinxcontrib/spelling/__init__.py
sphinxcontrib/spelling/builder.py
sphinxcontrib/spelling/checker.py
sphinxcontrib/spelling/directive.py
sphinxcontrib/spelling/filters.py
sphinxcontrib/spelling/tests/__init__.py
sphinxcontrib/spelling/tests/test_builder.py
sphinxcontrib/spelling/tests/test_checker.py
sphinxcontrib/spelling/tests/test_filter.py
sphinxcontrib/spelling/tests/test_wordlist.txt
sphinxcontrib_spelling.egg-info/PKG-INFO
sphinxcontrib_spelling.egg-info/SOURCES.txt
sphinxcontrib_spelling.egg-info/dependency_links.txt
sphinxcontrib_spelling.egg-info/namespace_packages.txt
sphinxcontrib_spelling.egg-info/not-zip-safe
sphinxcontrib_spelling.egg-info/pbr.json
sphinxcontrib_spelling.egg-info/requires.txt
sphinxcontrib_spelling.egg-info/top_level.txt
tools/travis.sh sphinxcontrib-spelling-4.2.0/sphinxcontrib_spelling.egg-info/dependency_links.txt 0000644 0001017 0000765 00000000001 13312441215 032474 0 ustar dhellmann dhellmann 0000000 0000000
sphinxcontrib-spelling-4.2.0/tools/ 0000755 0001017 0000765 00000000000 13312441221 021302 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/tools/travis.sh 0000755 0001017 0000765 00000001341 13304545551 023164 0 ustar dhellmann dhellmann 0000000 0000000 #!/bin/bash
#
# Run the build mode specified by the BUILD variable, defined in
# .travis.yml. When the variable is unset, assume we should run the
# standard test suite.
rootdir=$(dirname $(dirname $0))
# Show the commands being run.
set -x
# Exit on any error.
set -e
case "$BUILD" in
docs)
export ENABLE_SPELLING=1;
sphinx-build -W -b html docs/source docs/build;
sphinx-build -b spelling docs/source docs/build;;
linter)
flake8 sphinxcontrib setup.py;;
*)
python setup.py test \
--coverage \
--coverage-package-name=sphinxcontrib.spelling \
--slowest \
--testr-args="$@";
coverage report --show-missing;;
esac
sphinxcontrib-spelling-4.2.0/README 0000644 0001017 0000765 00000002657 13304541124 021040 0 ustar dhellmann dhellmann 0000000 0000000 .. -*- mode: rst -*-
=========================
sphinxcontrib-spelling
=========================
This package contains sphinxcontrb.spelling, a spelling checker for
Sphinx-based documentation. It uses PyEnchant_ to produce a report
showing misspelled words. Note: PyEnchant is now unmaintained.
Refer to the `main documentation page
`__ for
installation and setup details.
License
=======
Copyright Doug Hellmann, All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Doug Hellmann not be used
in advertising or publicity pertaining to distribution of the software
without specific, written prior permission.
DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
.. _PyEnchant: https://github.com/rfk/pyenchant
sphinxcontrib-spelling-4.2.0/requirements.txt 0000644 0001017 0000765 00000000041 12646020704 023431 0 ustar dhellmann dhellmann 0000000 0000000 PyEnchant>=1.6.5
Sphinx>=0.6
six
sphinxcontrib-spelling-4.2.0/Makefile 0000644 0001017 0000765 00000001705 12271202456 021615 0 ustar dhellmann dhellmann 0000000 0000000 # Default target is to show help
help:
@echo "sdist - Source distribution"
@echo "html - HTML documentation"
@echo "spelling - Check spelling of documentation"
@echo "upload - upload a new release to PyPI"
@echo "installwebsite - deploy web version of docs"
@echo "develop - install development version"
@echo "test - run the test suite"
.PHONY: sdist
sdist: html
python setup.py sdist
.PHONY: upload
upload: html
python setup.py sdist upload
# Documentation
.PHONY: html
html:
(cd docs && $(MAKE) html)
.PHONY: spelling
spelling:
(cd docs && $(MAKE) spelling)
installwebsite: html
(cd docs/build/html && rsync --rsh=ssh --archive --delete --verbose . www.doughellmann.com:/var/www/doughellmann/DocumentRoot/docs/sphinxcontrib.spelling/)
# Register the new version on pypi
.PHONY: register
register:
python setup.py register
# Testing
.PHONY: test
test:
tox
develop:
python setup.py develop
sphinxcontrib-spelling-4.2.0/PKG-INFO 0000644 0001017 0000765 00000004730 13312441221 021243 0 ustar dhellmann dhellmann 0000000 0000000 Metadata-Version: 1.1
Name: sphinxcontrib-spelling
Version: 4.2.0
Summary: Sphinx spelling extension
Home-page: https://github.com/sphinx-contrib/spelling
Author: Doug Hellmann
Author-email: doug@doughellmann.com
License: UNKNOWN
Description-Content-Type: UNKNOWN
Description: .. -*- mode: rst -*-
=========================
sphinxcontrib-spelling
=========================
This package contains sphinxcontrb.spelling, a spelling checker for
Sphinx-based documentation. It uses PyEnchant_ to produce a report
showing misspelled words. Note: PyEnchant is now unmaintained.
Refer to the `main documentation page
`__ for
installation and setup details.
License
=======
Copyright Doug Hellmann, All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Doug Hellmann not be used
in advertising or publicity pertaining to distribution of the software
without specific, written prior permission.
DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
.. _PyEnchant: https://github.com/rfk/pyenchant
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Documentation
Classifier: Topic :: Utilities
sphinxcontrib-spelling-4.2.0/LICENSE 0000644 0001017 0000765 00000002422 12271202456 021157 0 ustar dhellmann dhellmann 0000000 0000000 Copyright (c) 2010 by Doug Hellmann.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
sphinxcontrib-spelling-4.2.0/docs/ 0000755 0001017 0000765 00000000000 13312441221 021072 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/docs/Makefile 0000644 0001017 0000765 00000011173 12271202456 022545 0 ustar dhellmann dhellmann 0000000 0000000 # Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
help:
@echo "Please use \`make ' where is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/sphinxcontribspelling.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/sphinxcontribspelling.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/sphinxcontribspelling"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/sphinxcontribspelling"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
make -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
spelling:
$(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) $(BUILDDIR)/spelling
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
sphinxcontrib-spelling-4.2.0/docs/source/ 0000755 0001017 0000765 00000000000 13312441221 022372 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/docs/source/spelling_people.txt 0000644 0001017 0000765 00000000007 13243030632 026314 0 ustar dhellmann dhellmann 0000000 0000000 Minhee
sphinxcontrib-spelling-4.2.0/docs/source/install.rst 0000644 0001017 0000765 00000000636 13304541124 024603 0 ustar dhellmann dhellmann 0000000 0000000 .. .. spelling::
wikis
sphinxcontrib
==============
Installation
==============
Installing sphinxcontrib.spelling
=================================
Install the extension with pip: ``pip install sphinxcontrib-spelling``
Configuration
=============
1. Add ``'sphinxcontrib.spelling'`` to the ``extensions`` list in ``conf.py``.
::
extensions = [ 'sphinxcontrib.spelling' ]
.. _install-options:
sphinxcontrib-spelling-4.2.0/docs/source/index.rst 0000644 0001017 0000765 00000001731 13304541124 024241 0 ustar dhellmann dhellmann 0000000 0000000 .. .. spelling::
.. sphinxcontrib
.. sphinxcontrib.spelling documentation master file, created by
sphinx-quickstart on Sun Apr 17 15:33:23 2011.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
========================
sphinxcontrib.spelling
========================
``sphinxcontrib.spelling`` is a spelling checker for Sphinx_. It uses
PyEnchant_ to produce a report showing misspelled words.
Features
========
1. Supports multiple source languages using the standard enchant
dictionaries.
2. Supports project-specific dictionaries for localized jargon and
other terminology that may not appear in the global dictionaries.
3. Suggests alternatives to words not found in the dictionary, when
possible.
Details
=======
.. toctree::
:maxdepth: 2
install
customize
run
developers
history
.. _PyEnchant: https://github.com/rfk/pyenchant
.. _Sphinx: http://sphinx.pocoo.org/
sphinxcontrib-spelling-4.2.0/docs/source/developers.rst 0000644 0001017 0000765 00000001776 13243026564 025323 0 ustar dhellmann dhellmann 0000000 0000000 .. .. spelling::
.. sphinxcontrib
.. reStructuredText
============
Developers
============
If you would like to contribute to sphinxcontrib.spelling directly,
these instructions should help you get started. Patches, bug reports,
and feature requests are all welcome through the `GitHub site
`__.
Contributions in the form of patches or pull requests are easier to
integrate and will receive priority attention.
Running tests
-------------
To run the tests, you need ``tox`` installed. Then just run ``make test``.
Building Documentation
======================
The documentation for sphinxcontrib.spelling is written in
reStructuredText and converted to HTML using Sphinx. The build itself
is driven by make. You will need the following packages in order to
build the docs:
- Sphinx
- docutils
- sphinxcontrib.spelling
Once all of the tools are installed into a virtualenv using
pip, run ``make -C docs/ html`` to generate the HTML version of the
documentation.
sphinxcontrib-spelling-4.2.0/docs/source/conf.py 0000644 0001017 0000765 00000016370 13243030620 023700 0 ustar dhellmann dhellmann 0000000 0000000 # -*- coding: utf-8 -*-
#
# sphinxcontrib.spelling documentation build configuration file, created by
# sphinx-quickstart on Sun Apr 17 15:33:23 2011.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
#
# CANNOT ENABLE SPHINXCONTRIB.SPELLING because ReadTheDocs.org does not support
# PyEnchant.
extensions = []
if os.getenv('ENABLE_SPELLING'):
extensions.append('sphinxcontrib.spelling')
spelling_word_list_filename = [
'spelling_wordlist.txt',
'spelling_people.txt',
]
spelling_show_suggestions = True
spelling_ignore_pypi_package_names = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'sphinxcontrib.spelling'
copyright = u'2011, Doug Hellmann'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '1.4'
# The full version, including alpha/beta/rc tags.
release = version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'sphinxcontribspellingdoc'
# -- Options for LaTeX output --------------------------------------------------
# The paper size ('letter' or 'a4').
#latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'sphinxcontribspelling.tex', u'sphinxcontrib.spelling Documentation',
u'Doug Hellmann', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Additional stuff for the LaTeX preamble.
#latex_preamble = ''
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'sphinxcontribspelling', u'sphinxcontrib.spelling Documentation',
[u'Doug Hellmann'], 1)
]
sphinxcontrib-spelling-4.2.0/docs/source/spelling_wordlist.txt 0000644 0001017 0000765 00000000105 13243030640 026675 0 ustar dhellmann dhellmann 0000000 0000000 builtins
reStructuredText
sphinxcontrib
tokenizer
txt
wikis
wordlist
sphinxcontrib-spelling-4.2.0/docs/source/customize.rst 0000644 0001017 0000765 00000012322 13304545551 025162 0 ustar dhellmann dhellmann 0000000 0000000 .. .. spelling::
.. wikis
=======================
Configuration Options
=======================
These options can be set in ``conf.py`` along with the other Sphinx
configuration settings.
Input Options
=============
``spelling_lang='en_US'``
String specifying the language, as understood by PyEnchant and
enchant. Defaults to ``en_US`` for US English.
``tokenizer_lang='en_US'``
String specifying the tokenizer language as understood by PyEnchant
and enchant. Defaults to ``en_US`` for US English.
``spelling_word_list_filename='spelling_wordlist.txt'``
String specifying a file containing a list of words known to be
spelled correctly but that do not appear in the language dictionary
selected by ``spelling_lang``. The file should contain one word per
line. Refer to the `PyEnchant tutorial`_ for details. Use a list to add
multiple files.
``spelling_word_list_filename=['spelling_wordlist.txt','another_list.txt']``
Same as above, but with several files of correctly spelled words.
.. _PyEnchant tutorial: https://github.com/rfk/pyenchant/blob/master/website/content/tutorial.rst
Output Options
==============
``spelling_show_suggestions=False``
Boolean controlling whether suggestions for misspelled words are
printed. Defaults to False.
Word Filters
============
Enable or disable the built-in filters to control which words are
returned by the tokenizer to be checked.
``spelling_ignore_pypi_package_names=False``
Boolean controlling whether words that look like package names from
PyPI are treated as spelled properly. When ``True``, the current
list of package names is downloaded at the start of the build and
used to extend the list of known words in the dictionary. Defaults
to ``False``.
``spelling_ignore_wiki_words=True``
Boolean controlling whether words that follow the CamelCase
conventions used for page names in wikis should be treated as
spelled properly. Defaults to ``True``.
``spelling_ignore_acronyms=True``
Boolean controlling treatment of words that appear in all capital
letters, or all capital letters followed by a lower case ``s``. When
``True``, acronyms are assumed to be spelled properly. Defaults to
``True``.
``spelling_ignore_python_builtins=True``
Boolean controlling whether names built in to Python should be
treated as spelled properly. Defaults to ``True``.
``spelling_ignore_importable_modules=True``
Boolean controlling whether words that are names of modules found on
``sys.path`` are treated as spelled properly. Defaults to ``True``.
``spelling_filters=[]``
List of filter classes to be added to the tokenizer that produces
words to be checked. The classes should be derived from
``enchant.tokenize.Filter``. Refer to the `PyEnchant tutorial`_
for examples.
Private Dictionaries
====================
There are two ways to provide a list of known good words. The
``spelling_word_list_filename`` option (described above) specifies the
name of a plain text file containing one word per line. All of the
words in the file are assumed to be spelled correctly and may appear
in any part of the document being processed.
You can use multiple text files with words to be added to the dictionary,
to do this all you need to do is use a list and include the name of your
text files.
For example::
spelling_word_list_filename = ['spelling_wordlist.txt', 'my_wordlist.txt']
The ``spelling`` directive can be used to create a list of words known
to be spelled correctly within a single file. For example, if a
document refers to a person or project by name, the name can be added
to the list of known words for just that document.
::
.. spelling::
Docutils
Goodger
.. _PyEnchant: https://github.com/rfk/pyenchant
Custom Word Filters
===================
The PyEnchant tokenizer supports a "filtering" API for processing
words from the input. Filters can alter the stream of words by adding,
replacing, or dropping values.
New filters should be derived from ``enchant.tokenize.Filter`` and
implement either the ``_split()`` method (to add or replace words) or
``_skip()`` (to treat words as being spelled correctly). For example,
this :class:`AcronymFilter` skips words that are all uppercase letters
or all uppercase with a trailing lowercase "s".
::
class AcronymFilter(Filter):
"""If a word looks like an acronym (all upper case letters),
ignore it.
"""
def _skip(self, word):
return (word.isupper() # all caps
or
# pluralized acronym ("URLs")
(word[-1].lower() == 's'
and
word[:-1].isupper()
)
)
To be used in a document, the custom filter needs to be installed
somewhere that Sphinx can import it while processing the input
files. The Sphinx project's ``conf.py`` then needs two changes.
1. Import the filter class.
2. Add the filter class to the ``spelling_filters`` configuration
variable.
::
from mymodule import MyFilter
spelling_filters = [MyFilter]
.. seealso::
* `Creating a Spelling Checker for reStructuredText Documents
`_
* `PyEnchant tutorial`_
sphinxcontrib-spelling-4.2.0/docs/source/run.rst 0000644 0001017 0000765 00000002517 12271202456 023745 0 ustar dhellmann dhellmann 0000000 0000000 =========
Running
=========
To process a document with the spell checker, use ``sphinx-build`` and
specify ``spelling`` as the builder name using the ``-b`` option. The
output includes the headings from the document and any misspelled
words. If suggestions are enabled, they are shown on the same line as
the misspelling. A log of all the words not found in the dictionary is
saved to the file ``spelling/output.txt`` under the build directory.
::
$ make spelling
sphinx-build -b spelling -d build/doctrees source build/spelling
Running Sphinx v1.0.7
Initializing Spelling Checker
loading pickled environment... done
building [spelling]: all documents
updating environment: 1 added, 2 changed, 0 removed
reading sources... [ 33%] history
reading sources... [ 66%] index
reading sources... [100%] run
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 20%] developers
writing output... [ 40%] history
writing output... [ 60%] index
writing output... [ 80%] install
(line 28) PyEnchant ["Penchant"]
writing output... [100%] run
Spelling checker messages written to ./docs/build/spelling/output.txt
build finished with problems.
make: *** [spelling] Error 1
sphinxcontrib-spelling-4.2.0/docs/source/history.rst 0000644 0001017 0000765 00000004250 13162764626 024652 0 ustar dhellmann dhellmann 0000000 0000000 =================
Release History
=================
2.1
- Fix unicode error in ``PythonBuiltinsFilter``.
- Make error output useful in emacs compiler mode
- Only show the words being added to a local dictionary if debugging
is enabled.
2.0
- Add python 3.3 support.
- Add PyPy support.
- Use pbr for packaging.
- Update tox config to work with forked version of PyEnchant until
changes are accepted upstream.
1.4
- Fixed detection of builtins under PyPy, contributed by Hong Minhee
(https://bitbucket.org/dahlia).
1.3
- Handle text nodes without parents. (#19)
- Include the input document name in the console output.
- Use the Sphinx wrapper for registering a directive.
1.2
- Add the document name to the messages showing the contents of a
local dictionary created by the ``spelling`` directive.
- Add title nodes to the list of node types checked for
spelling. Resolves issue #17.
- Add test/test_wordlist.txt to the manifest so it is included in
the source distribution and the tests will pass. Resolves issue
#17.
- Documentation patch from Hank Gay.
1.1.1
- Fix initialization so the per-document filters work even if no
``spelling`` directive is used.
1.1
- Add an option treat the names of packages on PyPI as spelled
properly.
- Add an option to treat CamelCase names as spelled properly.
- Add an option to treat acronyms as spelled properly.
- Add an option to treat Python built-ins as spelled properly.
- Add an option to treat names that can be found as modules as
spelled properly.
- Add an option to let the user provide a list of other filter
classes for the tokenizer.
- Add ``spelling`` directive for passing local configuration
settings to the spelling checker. This version allows setting a
list of words known to be spelled correctly.
1.0
- Re-implement using just a Builder, without a separate visitor
class.
- Show the file and line number of any words not appearing in the
dictionary, instead of the section title.
- Log the file, line, and unknown words as the documents are
processed.
0.2
- Warn but otherwise ignore unknown node types.
0.1
- First public release.
sphinxcontrib-spelling-4.2.0/AUTHORS 0000644 0001017 0000765 00000004175 13312441215 021224 0 ustar dhellmann dhellmann 0000000 0000000 Alex Gaynor
Andrey Popp <8mayday@gmail.com>
Andy Mikhaylenko
Avram Lubkin
Baptiste Mispelon
Benoît Allard
Bulat Shakirzyanov
Chris Pickel
Christophe Benz
Dan MacKinlay
Dan MacKinlay
Daniele Tricoli
Denis Bilenko
Devin Sevilla
Doug Hellmann
Doug Hellmann
Eunchong Yu
Evgeniy Tatarkin
FabioRosado
Fladischer Michael
Georg Brandl
Hank Gay
Hong Minhee
James Rowe
Jan-Marek Glogowski
Jeffrey Finkelstein
Johannes Emerich
John-Scott Atlakson
Julian Berman
Keegan Carruthers-Smith
Kevin Horn
Leandro Lucarella
Maciek Starzyk
Mark Story
Marti Raudsepp
Matt Williams
Michael McNeil Forbes
Pauli Virtanen
Pete Gadomski
Robin Jarry
SHIBUKAWA Yoshiki
Sebastian Wiesner
Sebastian Wiesner
Stephen Finucane
Stephen Sugden
Takumi IINO
Tero Koskinen
Timotheus Kampik
Tobias Olausson
Vadim Gubergrits
Wei-Wei Guo
Yuya Nishihara
bond
diabeteman
heavenshell
iElectric
jmu
s0undt3ch
shibu
tk0miya
sphinxcontrib-spelling-4.2.0/ChangeLog 0000644 0001017 0000765 00000150614 13312441214 021725 0 ustar dhellmann dhellmann 0000000 0000000 CHANGES
=======
4.2.0
-----
* Allow custom empty files
* move linter dependency to extras list
* change tox defaults to just py36
* there is no docs extras, remove from travis settings
* move test dependencies to extras
* install enchant for travis
* put .travis.yml in the right place
* add travis CI configuration
* switch pep8 environment to use python 3
* switch docs build to use python 3
* fix some markup from PR #15
* How to create multiple wordfiles
* Note that PyEnchant is unmaintained and fix links
4.1.0
-----
* split the wordlist into two files
* clean up multi-wordlist handling
* Make it possible to provide several wordlists
* Don't use mutable default argument
* developers.rst: correct make command to build docs
* developers.rst: add instructions for running tests
* Link to new home page
* Update home page link
4.0.1
-----
* use the right method to emit warnings
4.0.0
-----
* trivial: Remove nosestest.cfg
* Don't fail by default
* Fixes #1 -- disable smart quotes so that we can recognize contractions/posessives correctly
* Mark the extension as safe for parallel reading
3.0.0
-----
* set up tox to run docs build with checker enabled
* be more verbose about configuration options
* remove inline spelling directive
* disable setting for static files
* fix pep8 errors
* switch to testrepository for running tests
* update python 3.3 to 3.5
2.3.0
-----
* Merged in TimKam/sphinxcontrib-spelling/7-make-tokenizer-configurable (pull request #7)
* make it possible to specify tokenizer #7
2.2.0
-----
* Merged in jsma/sphinxcontrib-spelling/jsma/use-https-with-pypipythonorg-fixes-exce-1466568698646 (pull request #5)
* Use https with pypi.python.org
* Merged in avylove/sphinxcontrib-spelling (pull request #4)
* Removed unnecessary shebang lines from non-script files
* rely on pyenchant dependency in requirements.txt
* Merged in JulianB/sphinxcontrib-spelling (pull request #3)
* Re-enable the PyEnchant dep
* Change use of six.moves
* Fix link to article about using the spelling checker
* remove quotes from package description
2.1.1
-----
* remove announce.rst; moved to blogging repository
* Merged in eriol/sphinxcontrib-spelling (pull request #2)
* Removed no more used CHANGES file
* Updated path of test\_wordlist.txt
* Merged in bmispelon/sphinxcontrib-spelling/isupper (pull request #1)
* Use str.isupper() instead of ad-hoc method
* fix syntax for tags directive
2.1
---
* update history and announce file for new release
* Make error output useful in emacs compiler mode
* Quiet output
* add test for acronym filter
* update history for last fix
* Fix unicode handling in builtins filter
* update announcement
2.0
---
* update history
* update history
* use pbr for packaging
* Fix output mode for log file
* Python 3 support
* moved test dir in previous commit
* reorganize code and clean up
* flake8 cleanup; tox update
* convert settings files to git
* add tags to announce file
* Added tag spelling-1.4 for changeset 5ecdaf657b0a
1.4
---
* prepare for 1.4 release
* Add a little more detail about creating and using custom filters
* Do not use sphinxcontrib-spelling on its own documentation and remind myself why
* attribution for previous fix
* use \_\_builtin\_\_ instead of \_\_builtins\_\_ for PyPy
* disable use of spelling checker since enchant is not available on rtd.org
* add requirements file to allow doc build
* set the theme for rtd.org
* move spelling files up to top of repo; fix URL in setup.py
* remove project template files
* remove authors list
* remove other projects
* Fixes already exists file problem and bump version
* Add sphinxcontrib-rawfiles package
* Move programoutput extension over to Github
* Remove epydoc extension
* Remove issuetracker extension
* Python 3 support
* Launchpad bugs are complete if all tasks are complete
* Simplify request/response handling
* Bump requests dependency
* Move builtin resolvers into separate module
* Turn extension into package
* Bump Sphinx dep to 1.1
* Inline dependencies in tox.ini
* Remove ununsed requirements file
* Move constants out of local namespace
* Move requirements to top-level directory
* Fix an issue #29
* Add more tests for 'httpdomain-autoflask'
* sphinxcontrib-coffee 0.2.0
* Enhanced support for inheritance and static methods
* Bump version for requirejs support
* Add configuration to use the requirejs parser
* [sadisplay] py3k support
* Polish some sentence
* Add a warning message in the document of 'autoflask' directive
* Add a document about the :endpoints: option of the 'autoflask' directive
* Add 'endpoints' option in the 'autoflask' directive
* Merged in grncdr/sphinx-contrib (pull request #13)
* Added tag clearquest-0.5 for changeset a2776a69adc3
* Fixed the error "local variable 'param\_value' referenced before assignment" when a parameter is missing in a parameterized query
* mscgen: Add a workaround for the missing shebang of epstopdf
* mscgen: latex: surround the includegraphics with \n
* Added tag actdiag-0.4.2 for changeset 1e61d34c68ab
* Bump version
* Recognize document references at node.href attribute (cf. :ref:\`...\`)
* Added tag blockdiag-1.1.1, seqdiag-0.4.1, actdiag-0.4.1, nwdiag-0.4.1 for changeset 5e72c37619dd
* Bump version
* Recognize document references at node.href attribute (cf. :ref:\`...\`) (thanks to @r\_rudi)
* Handle exceptions on parsing code
* Bump to programoutput 0.8
* Added tag programoutput-0.7 for changeset eac27cb3bcc6
* Release programoutput 0.7
* Bump version, 0.6 was already released
* Updated readme
* Updated trove classifiers
* Merged birkenfeld/sphinx-contrib
* Fixed test for Python 3
* Fixed deps of doc env
* Added tests for cwd option
* Need to normalize working dir and resolve symlinks
* Added cwd option to set the working directory of commands, fixes #28
* Added tag blockdiag-1.1.0, seqdiag-0.4.0, actdiag-0.4.0, nwdiag-0.4.0 for changeset 0ff1d120dc71
* Bump version
* Fix pep8 violation
* Add config: \*diag\_html\_image\_format
* Fix pep8 violation
* \* Apply blockdiag\_html\_image\_format patch by @r\_rudi - Enable blockdiag\_html\_image\_format = "SVG" - Support PNG image using clickable map on HTML
* Some slight cleanup
* Support Python 3 without 2to3
* Updated tox configuration, removed outdated test requirements
* Rename README to README.rst
* Organize properly
* Add coffeedomain/README
* Add description of coffeedomain to README
* Adding the sphinxcontrib.coffeedomain extension
* Added tag plantuml-0.3 for changeset d16faed5a02e
* plantuml: update conf.py to specify plantuml command by string (refs #27)
* plantuml: bump version to 0.3
* plantuml: document about extensions list (closes #27)
* Removed an outdated info
* Added tag httpdomain-1.1.7 for changeset b817f6162504
* Bump version for PyPI release
* Update pip name
* Added tag googlechart-0.1.5 for changeset 48ef9c0f3795
* Update version
* Fix images has been broken in Windows
* Added tag actdiag-0.3.2, blockdiag-1.0.2, seqdiag-0.3.2, nwdiag-0.3.2 for changeset 426cc2dd2ad0
* Update versions; blockdiag, seqdiag, actdiag and nwdiag
* Fixed #26: Set candidates field to nodes.image node
* Fix errors with singlehtml target
* Merged in jfinkels/sphinx-contrib/add-http-patch (pull request #10)
* Refactored code out of http\_method\_role; added test document
* Merged in jfinkels/sphinx-contrib/add-http-patch (pull request #9)
* [httpdomain] Added support and documentation for PATCH method
* httpdomain: fix IndexError for / path
* add http\_index\_ignore\_prefixes config value
* sort http routing table index by path
* Include the document name in the console output for bad words. Bump version number
* update announcement; add more exampels to docs; tweak code to make it easier to read
* merge sqltable addition with other changes
* add sqltable extension
* Removed my pyqt4 extension
* Use requests library to simply HTTP requests
* Updated test for invalid Launchpad issue
* tip is issuetracker 0.10 now
* Added tag programoutput-0.6 for changeset 5c74ab076046
* Updated tox config
* programoutput 0.6 with Python 3 support
* Fixed shell tests
* Fixed tox configuration
* Markup fix
* Update docs
* Added tag epydoc-0.5 for changeset 3a43dd5c95e9
* Version 0.5 with Python 3 support
* Added tag clearquest-0.4 for changeset 64dbae18ef8b
* Added tag clearquest-0.3 for changeset 996f292392fa
* Added tag clearquest-0.2 for changeset 03c94ddf2a6e
* fixed IndexError on empty queries settings are now searched in "~/sphinxcontrib" too
* Added MANIFEST file to source/dist packages
* changed the look of tables produced by empty queries
* fixed errors on columns widths resolution when some fields are NULL. fixed broken tables when some columns are "not shown" removed explicit dependency to "pywin32" to avoid crashes of easy\_install
* Added tag clearquest-0.1 for changeset f9fb7f2481d6
* first commit
* Added tag httpdomain-1.1.6 for changeset 196f09b20986
* Version bump
* Wrote more about the author
* Added HTTP lexer
* Removed unused imports
* Added tag nicovideo-0.1.0 for changeset 209974a9c33d
* Fix version
* Add nicovideo extension
* note bug with cleanup code
* Much nicer date markup for feed's latest directive
* update feed extension TODO items to reflect latest changes
* version/doc updates for feed
* fix sundry bugs in the Latest directive and fork it from Toctree
* minor tidies
* non-subclassing version of the Latest directive
* pull in changes from offline SCM repo
* sketch of modified directive
* update overview page to reflect broader functionality of feed package
* Added tag blockdiag-1.0.1, seqdiag-0.3.1, actdiag-0.3.1, nwdiag-0.3.1 for changeset 51e7608cd864
* Add config value: blockdiag\_fontmap
* Added tag blockdiag-1.0.0, seqdiag-0.3.0, actdiag-0.3.0, nwdiag-0.3.0 for changeset 4e292c1848cf
* Update version; blockdiag, actdiag, seqdiag and nwdiag
* Add extension for rackdiag
* actdiag, seqdiag, nwdiag: Generate images forcely with unknown writers
* plantuml: add experimental support for rst2pdf
* plantuml: add rules for rst2pdf to test fixture
* plantuml: add workaround for missing shebang of epstopdf command
* plantuml: add option to generate pdf image for latex output
* plantuml: parse command-line string by shlex
* plantuml: add option to generate eps image for latex output
* plantuml: fix latex output to make a paragraph for uml image
* Generate images forcely with unknown writers
* Added tag plantuml-0.2 for changeset b983e96fd440
* plantuml: update README not containing custom directive
* plantuml: bump version to 0.2
* plantuml: add option to generate svg image
* plantuml: add stub for svg output
* plantuml: add Makefile and README under tests/fixture
* note new bugs caught in the production deployment, and fix one - the lack of space between list items and dates
* merge upstream
* don't explode when told to index undated entries
* Added tag doxylink-1.2 for changeset 54812ae19666
* Release version 1.2
* Add Python 3 support
* Move test folder to avoid any potential conflicts
* pull upstream
* support a toctree-like \`latest\` directive, which lists titles, dated and ordered by date
* correct way to handle directive registration
* Fix URL
* merge upsteam
* Added tag blockdiag-0.9.3, seqdiag-0.2.3, nwdiag-0.2.3, actdiag-0.2.3 for changeset 6a979e1d29e5
* Fixed thumbnail images has broken with :maxwidth: option
* an alternative approach that tried to highjack TocTree. Still doesn't work because it doesn't get persisted. if I want latest entries, I'm going to have to use hidden TocTrees and a Toctree-like node that gives the latest feed
* actually test this ToC re-ordering thing
* this doesn't work , i think because of ToC being examined at a special point in proceedings. perhpas it would be better to globally alter the toc behaviour?
* remove nose dependencies from sphinxcontrib.feed's setup.py
* go to unittest insted of nosetest for sphinxcontrib-feed
* update documentation for clarity and spelling
* Update version number for phpdomain
* Fix error when creating namespace at top of document
* add check for key existence
* Added tag actdiag-0.2.2, seqdiag-0.2.2, nwdiag-0.2.2 for changeset 3cb3e961abe6
* Added tag blockdiag-0.9.2 for changeset b7bc070ff0dd
* \* Fix failure with :maxwidth: option
* Added tag nwdiag-0.2.1 for changeset 6944e22261b9
* Added tag seqdiag-0.2.1 for changeset 682548b5ec2b
* Added tag actdiag-0.2.1 for changeset fe80f17df05c
* Added tag blockdiag-0.9.1 for changeset 13da596d425b
* \* Update versions
* \* Failed with blockdiag >= 0.9.3 (touching internal variables)
* handle text nodes without parents; fixes #19
* Sorted extensions alphabetically in README
* Add :aspect: parameter to YouTube directive
* Added tag programoutput-0.5 for changeset 9b36fee2dbc8
* Release programoutput 0.5
* Update source distribution manifest to include tests and tox config
* Handle EnvironmentErrors during command execution gracefully
* Updated and improved issuetracker documentation
* Removed makefile, use setup.py to build docs
* Include return code in prompt by providing \`\`returncode\`\` key to prompt template
* Fixed tests
* Added :returncode: option to programoutput
* programoutput\_prompt\_template is a format string now
* Reworked, updated and improved documentation, Python 2.6 required now
* Handle unexpected return codes more gracefully
* Standard future imports
* tip is programoutput 0.5 now
* Reworked tests, test with real builds now
* Disable pylint no \_\_init\_\_() warning for cache class
* Add YouTube extension
* Removed test dependencies against pyquery in issuetracker and epydoc
* Use plain python element tree for PyPy support
* Fixed test
* More testing
* Allow to skip slow tests and tests which require network connection
* Merged heads
* Added tag issuetracker-0.9 for changeset 9827aaa8070f
* Release issuetracker 0.9
* Added version added and changed notes to documentation
* Fixed date format
* Merged exceltable into default branch
* Added exceltable into list
* Added tag exceltable-0.1.0 for changeset c7618117237c
* Include CREDITS in source tarball, thanks to Michael Fladischer
* Renamed issuetracker-resolve-issue to issuetracker-lookup-issue
* Split reference handling into lookup and resolval
* Use issue title as link title
* Fixed the README -syntax
* Improved the documentation
* Initial commit after migrating from rusty to sphinxcontrib.exceltable
* Updated tox configuration
* Bitbucket uses HTTPS urls
* Makefile does not exist anymore
* Added tag epydoc-0.4.1 for changeset a56ff44c58cf
* Release epydoc 0.4.1
* Configured doc upload
* Updated documentation
* Removed makefile, there is a setup.py command
* Fixed method cross-references
* Test against real sphinx build
* Require Sphinx 1.0
* Fixed launchpad tracker
* Added missing docstring
* Document classes used by issuetracker extension to style HTML output
* Added a bit more structure to 0.9 changes
* Added a note about PyQt to test requirements file
* Test application of the issue tracker stylesheet to issue references
* Replaced issuetracker\_expandtitle with more flexible issuetracker\_title\_template
* Improved documentation of format strings as explicit title to "issue" roles
* Testing title expansion is more a transformer test
* Updated credits
* Fix minor typo in comment
* Updated README
* Fixed module docstring
* Updated documentation (added "issue" role and "issuetracker\_plaintext\_issues" confval)
* Added issue role for explicit issue references
* Explicitly give the expected title to the issue reference checker
* Use unicode for XML conversion of the doctree to avoid coding errors
* Use a template string for title expansion
* Fixed issue reference classes to be more compatible with Sphinx
* Updated changelog
* Documented test modules
* Renamed transformer class
* Added issuetracker\_plaintext\_issues to disable transformation of plaintext issue ids
* Updated changelog
* tip is issuetracker 0.9 now
* Use bug title in launchpad tracker
* Fixed TypeError caused by the launchpad resolver
* Added tag issuetracker-0.8 for changeset 3927df52d5de
* Release issuetracker 0.8
* Mention jira in README
* Removed unused import
* Fixed builtin tests
* Added tests for transformations
* Document local app funcarg
* Added doctree funcarg to return the processed doctree for the contents
* Connect mock resolver in app funcarg and build app, if requested by markers
* Document pytest namespace
* Cache failed issue lookups
* Structured changelog
* Added test for cache hits
* Mocked callback only returns issue if issue id matches, documented callback return value
* Documented all tests
* Documented builtin tracker tests
* Added an issue\_id funcarg to hook into the automatic content generation
* Removed hacky confoverrides update helper
* Handle confoverrides by overriding the new confoverrides funcarg
* Return empty dictionary instead None in confoverrides funcarg
* Document all funcargs and the configure hook
* Build default content from issue funcarg if available
* Replaced superfluous triple quotes with normal quotes
* Get confoverrides from the confoverrides funcarg instead of evaluating the marker directly
* Just override the app funcarg instead of using a new funcarg in the resolval tests
* Removed unused local names
* Added global funcarg for a mocked resolval callback
* Removed unused imports
* Added general "issue" funcarg and with\_issue marker
* Added tests for TrackerConfig class
* Fixed error message with missing username for bitbucket/github
* Renamed some tests
* Fixed test error: Derive TrackerConfig from namedtuple
* Fixed exception xref
* Improved documentation of jira tracker and url config value to avoid duplicate code samples
* Raise ValueError in jira tracker if url is unset or empty
* Updated confoverrides in "reverse" direction
* Always use test specific documents
* Simplified test file content for builtin tracker tests
* Use with\_content marker to allow test specific contents
* Added pytest helper to update confoverrides in funcargs
* It's an URL, not an URI
* Fixed HTTP error handling
* Document return value of signal as changed in 0.8
* Added versionadded notes to all new objects
* Removed superfluous code-block directive
* Removed unused references
* Added jira support, thanks to Ali-Akber Saifee
* Refactored tests for builtin trackers
* Always use temporary source directory for tests
* Sort tracker tests alphabetically
* Backed out changeset 7f3c424340d0
* Sort tracker tests
* Credit Ali-Akber Saifee for his idea and implementation of expandtitle
* Actually do order credits alphabetically
* Improved wording in credits
* Added issuetracker\_expandtitle configuration value
* Test contents if no issue was found
* Use a better name for reference test module
* Document exception on missing username in project
* Fixed doc markup
* Test cache results in tests for builtin trackers
* Updated test requirements
* Updated changelog
* Updated documentation to include TrackerConfig and to reflect the new event signature
* Test against a real sphinx application
* Wrap tracker configuration in a namedtuple
* Added helper function to fetch issue data
* Updated docstrings
* Some refactoring to use some shorter names
* Fixed module docstring
* Attach project name to reference node
* Mark incompatible changes in changelog
* Fixed TypeError: Event names must be byte strings
* Use GitHub API v3
* Test for warnings during resolval
* Emit a warning on github errors
* Updated tracker requirements
* Removed conditional json import, python 2.6 is required anyway
* Added standard future imports
* Require Python 2.6 now
* Added section about the operation of this extension
* Removed instructions to install from tip, and improved development section
* Improved README
* Use modern string formatting syntax
* Fully support debian tracker now
* Added debianbts and its dependency SOAPpy as test dependencies
* Fixed debian tracker and its tests
* Fixed example in docs
* Updated changelog
* Resolvers must return Issue objects now
* Fixed setup test
* Use constants for URL templates
* Removed separate username configuration key
* lxml is not required for bitbucket anymore
* Updated changelog
* Use bitbucket API to get issue information
* issuetracker tip is 0.8 now
* Fixed bitbucket tests (synaptiks does not exist anymore)
* Fixed transformer test: Add required reporter to document
* Added separate requirement files for tests and docs
* update announcement with new details for 1.2
* Added tag spelling-1.2 for changeset 7b66682e9957
1.2
---
* update version number in documentation
* add known good words to spelling directives in the documentation
* fix packaging and add title nodes to the list being checked; resolves #17
* Add directive for link to PyEnchant
* Add adadomain to README
* Added tag hyphenator-0.1.2 for changeset 31f854cd835e
* hyphenator: removed print statements
* Added tag hyphenator-0.1.1 for changeset 11905ce41c53
* hyphenator: added hyphenator to sphinxcontrib README and AUTHORS
* Added tag hyphenator-0.1 for changeset 08f5ea5cc3bd
* hyphenator: added CHANGES
* hyphenator: version 0.1
* hyphenator: doc for hyphenator\_language
* hyphenator: initial commit
* make parsed date available in template context
* avoid ordering questions by collapsing the html-page-context callbacks
* pull upstream
* refactor date parsing into a util function
* suppress tests for non-existent date-toc
* remove debug statement. (Shame)
* sadiplay. add graphviz redering support and sphinxcontrib-plantuml now not required
* Added tag nwdiag-0.2.0 for changeset 239d642bf5e0
* \* Update version
* Added tag actdiag-0.2.0 for changeset 4ed6c3b0c71f
* \* Update version
* Added tag seqdiag-0.2.0 for changeset 33190f5a518d
* \* Update version
* Added tag blockdiag-0.9.0 for changeset e60f176286fe
* \* Update ersion
* \* Catch exceptions for display more kindly message
* \* Reference node.label in desctable
* \* Fix descriptions were not escaped
* \* Fix descriptions were not escaped
* \* Fix descriptions were not escaped
* \* Fix descriptions were not escaped
* Update to tox 1.0
* Bitbucket uses https now
* Fixed name of requirements file
* Write test results to xml file
* Added tag googlechart-0.1.4 for changeset 06b1fcf2469b
* Added tag googlechart-0.1.4 for changeset f29fdacde997
* \* Update version
* \* Remove undefined variable
* \* Add nwdiag\_html\_image\_format
* \* Add actdiag\_html\_image\_format
* \* Add seqdiag\_html\_image\_format
* \* Add blockdiag\_html\_image\_format
* Added tag ansi-0.6 for changeset 7c95dd4ecf68
* Updated changelog, releasing 0.6
* Fixed installation instructions
* Version bump to 0.6
* Copyright update for docs
* License headers
* Use build\_sphinx distutils commend instead of Makefile for doc building
* Update to tox 1.0, added requirement files for pip
* ansi: Fixed contribution passage
* ansi: Support background colour escapes
* Added tag httpdomain-1.1.5 for changeset fefcac1925d9
* httpdomain 1.1.5
* httpdomain: Flask 0.6/0.7 compatibility
* flask changed static\_path to static\_url\_path
* Added tag googlechart-0.1.3 for changeset 253b72c02373
* \* Update version
* \* Support python 2.4
* \* Remove unused argument from create\_google\_chart()
* \* Add namedtuple definitions for python2.4 (comaptibility)
* Added tag googlechart-0.1.2 for changeset 969a16324acb
* \* Update version
* \* Support axis of chart
* Added tag googlechart-0.1.1 for changeset 8b5ed8605bea
* \* Update version
* Add external file support to graphviz directive
* Fix UTF-8 issues with lilypond extension
* Fix examples
* Added tag googlechart-0.1.0 for changeset 3cc3a5598b77
* \* Update description
* \* Add sphinxcontrib.googlechart
* Added tag httpdomain-1.1.4 for changeset 08ac46ed7713
* httpdomain: PyPy & CPython compatibility
* Added tag httpdomain-1.1.3 for changeset dc14972441ec
* httpdomain: v1.1.3
* httpdomain: PyPy compatibility
* httpdomain: fixed a mistyping
* Added tag httpdomain-1.1.2 for changeset f7ed7161865c
* httpdomain: Added :include-empty-docstring: flag option. (v1.1.2)
* Added tag httpdomain-1.1.1 for changeset 0397d9c2ae30
* sphinxcontrib-httpdomain: Backward compatibility, version 1.1.1
* Added tag httpdomain-1.1 for changeset fc379b20ba56
* sphinxcontrib-httpdomain 1.1
* Added a trivial note
* Implemented \`autoflask\` directive. (\`sphinxcontrib.autohttp.flask\`)
* Ignore .\*.swp (vim swap file)
* Added the httpdomain extension into list of extensions
* merged
* Added tag httpdomain-1.0 for changeset 3eee9a1f8b20
* Initial commit of sphinxcontrib.httpdomain
* Adding tests for issue #15
* Added tag spelling-1.1.1 for changeset b85d8bab6f70
1.1.1
-----
* bump version number of spelling
* fix initialization; closes #17
* snapshot of my work - I've reached the limits of the Tocree node and ahve to try something else i think
* tests for a trivial latest directive
* update announcement with details for 1.1
* Add spelling directive to docs
* Added tag spelling-1.1 for changeset 619e36732079
1.1
---
* tag docs as 1.1
* fix syntax in makefile
* Added tag spelling-1.1 for changeset a7808988433b
* tag previous release of spelling
* Added tag spelling-1.0 for changeset 2aebbd8ac99b
* prepare 1.1 release
* add target to check spelling of documentation
* update configuration section of documentation
* skeleton of a Latest directive
* \* Revirt r596
* \* Add favicon.ico
* \* Display node.address on desctable
* \* Fix failure with :desctable: option
* Added tag nwdiag-0.1.1 for changeset 244a59313f8d
* Added tag actdiag-0.1.1 for changeset 92a4bf93a052
* Added tag seqdiag-0.1.1 for changeset 85be0d64d859
* Added tag blockdiag-0.8.3 for changeset 67905415d701
* \* Update version
* Added tag blockdiag-0.8.2 for changeset 491d8c49584b
* \* nwdiag\_fontpath allows array of fontpaths
* \* actdiag\_fontpath allows array of fontpaths
* \* seqdiag\_fontpath allows array of fontpaths
* \* blockdiag\_fontpath allows array of fontpaths
* Merging with upstream
* \* Fix :desctable: option is not worked
* Merged
* Added "requirements" to AUTHORS
* Added tag seqdiag-0.1.0 for changeset 06c6e6bc5b4c
* \* Add sphinxcontrib-seqdiag package
* Merged
* \* Add sphinxcontrib-nwdiag package
* \* Update long description
* Added tag actdiag-0.1.0 for changeset 348532172692
* \* Add sphinxcontrib-actdiag package
* Added tag blockdiag-0.8.0 for changeset e75d87a32828
* Removed tag 0.8.0
* Added tag blockdiag-0.8.1 for changeset 461fa170a9f4
* \* Update version
* \* Add blockdiag to REAMDE and AUTHORS
* \* Add LICENSE and AUTHORS
* include URLs in README. Oops
* test Keegan's feed\_title works
* revamp test suite to run correctly, including dependencies, from python setup.py tests
* rewrite README to include Keegan Carruthers-Smith as contributor, and generally tidy the document
* Feed extension only works on python-dateutil 1.x
* Remove beautifulsoup from the feed extension's requirements
* Added config option "feed\_title" to feed extension
* Added tag 0.8.0 for changeset e75d87a32828
* Added extension "requirements"
* \* Update version
* \* Support new interface of blockdiag-0.8.0
* sadisplay. render link to image, support module list
* upload packages to pypi for distribution
* upload packages to pypi for distribution
* fix javascript in cheeseshop to work with chrome
* add better contraction support
* implement 'spelling' directive to pass local overrides to the spelling checker
* Add filters for PyPI packages, wiki words, python builtins, acronyms, and importable modules
* update version in the documentation and add announcement post text
1.0
---
* Added tag sphinxcontrib-1.0 for changeset d2191ad4fce1
* fix version number
* Added tag sphinxcontrib-1.0 for changeset 7289d79c921e
* rewrite sphinxcontrib.spelling to be easier to understand and produce nicer output
* merge heads
* beautifulsoup 3.2 is out
* Use a custom parameter separator
* add a role for linking to bitbucket users
* Added tag blockdiag-0.7.2 for changeset 026d48070cdb
* \* Update version
* \* Initialize NodeGroup for blockdiag-0.7.7 or later
* Added tag plantuml-0.1 for changeset c89fc5f3fa40
* plantuml: shorter package version
* plantuml: make setup.py read README for long\_desc
* add sadisplay extension
* Updating setup.py for a quick fix
* Updating documentation to include interfaces. Updating setup.py and setup.cfg. Updating changelog for new point release
* Fixing text to say namespace instead of module
* Fixing issues where globals following classes were treated as part of the class. This issue still exists with constants, but there isn't really a way to discern class and global constants right now
* Added tag programoutput-0.4.1 for changeset 63319595dba1
* programoutput 0.4.1
* Extract docs version from sources, and updated copyright
* Configured doc upload
* Skip ansi tests if ansi extension is missing
* Improved documention of configuration values
* Missing license header
* Update pytest imports
* Enforce versions of test dependencies
* Do not use a general python environment anymore
* Fixed #10: Corrected installation instructions
* Bump to 0.4.1
* Removed unused imports
* Read version number from source code
* Include tox configuration in source tarball
* Enforce specific versions of testsuite dependencies
* Forgot to add license document
* Updated link to lxml
* Added credits
* Include license text into generated documentation
* Added reference to issue to changelog
* Added tag issuetracker-0.7.2 for changeset 04a09127f2c6
* issuetracker 0.7.2
* Hide transformer test helpers in assertion tracebacks
* Restructured transformer tests
* Reword and restructure test data in transformer test
* Ignore references in literal blocks and inline literals
* Fixed extraction of issue state from bitbucket
* issuetracker itself is not an external dependency for building its own docs
* Do not use a special python environment, but instead rely on the standard environments defined by tox
* Read version number directly from issuetracker.py instead of importing it
* tip is 0.7.2 now
* Require a recent sphinx version
* Added tag blockdiag-0.7.1 for changeset 10d03cc086cc
* \* Update version to blockdiag-0.7.1
* \* Add \par tag to above and below of diagrams
* Fixing static method being omitted from the index
* Fixing interfaces not reseting the class properties, and incorrectly stacking with other class names
* Removing all the $ in front of properties. They made the index have all propeties in one section
* Merging changes from 'heavenshell' in. There are some problems with interfaces not resetting the class stack
* Bumping version number, and adding alias for return type
* Add interface to PHPDomain
* Adding another test
* Fixing issues with static methods. Making non indented class definintions work
* Include tests in sdist again, closes #13
* Sphinx is a dependency for testing
* Fixing missing string interpolation. Updating files for packaging
* Adding a LICENSE file, I forgot it earlier
* Adding tests for constants in namespaces. Cleaned up all the bare '\\' everywhere Fixed logic around constants/functions
* Adding more reference, and a few tests
* Adding a file for changelogs
* Starting to add reference docs for the module
* Adding content to the readme. Adding note about how the rubydomain helped me do most of the work
* Added namespace index
* Fixing tilde links, adding tests for them
* Adding in cross referencing, with some tests
* Adding support for exceptions and namespaces
* Fixed class attributes and constant doc generation
* Adding PHP classes to the domain
* Using the rubydomain as a starting point, some basic PHP global objects are working
* Adding files for the acceptance tests based on the rubydomain
* Adding the very beginnings of a domain for PHP documentation
* Change to print function to work towards Python3 compatibility
* Add a release checklist to make sure I don't miss anything
* Added tag doxylink-1.1 for changeset ff2a57ae39a4
* Update version to 1.1
* Update information about linking to files
* Make sure filenames end with .html
* Allow to link to functions etc. which are in a header/source file but not a member of a class
* Add support for linking to structs
* Added tag blockdiag-0.7.0 for changeset bb84b0519b19
* \* Raise error for PDF exportion without reportlab
* \* Update version
* \* Add blockdiag\_tex\_image\_format to configuration to embed PDF image into TeX document
* \* Update to new blockdiag API (>= 0.6.6)
* \* Do not rebuild images without changes of code-block and options
* Simulate a python console. Issue #12
* Fixed a small bug with documented inherited interface elements
* Fixes #11
* Correct classifier
* Update \`setup.cfg\` aliases
* First commit of \`sphinxcontrib-email\` Sphinx extension on behalf of Kevin Teague
* Added tag spelling-0.2 for changeset 6da7f29db015
0.2
---
* warn but ignore unknown node types in spelling checker
* Added tag issuetracker-0.7.1 for changeset f245f6c4d64b
* issuetracker 0.7.1
* Removed some markup cruft
* Copy stylesheet after build again, reverts dbe55921aec2, fixes #8
* Version bump
* Removed unused name
* Added tag blockdiag-0.6.3 for changeset a29ca2bff55f
* \* Update version
* \* Fix tex processor was broken
* Added tag blockdiag-0.6.2 for changeset 65392c61ad6b
* \* Update version
* \* Fix errors with maxwidth parameter
* \* Fix large image was generated with blockdiag\_antialias option
* Added tag blockdiag-0.6.1 for changeset c6a0b4a58548
* \* Init blockdiag objects at first
* Removed tag blockdiag-0.6.1
* Added tag blockdiag-0.6.1 for changeset b48842f018e8
* \* Update version
* \* Merge to heads
* configured default doc upload directory
* Added tag issuetracker-0.7 for changeset 86e0d93f374a
* Release issuetracker 0.7
* Copy the issuetracker stylesheet at builder initialization
* Reworked issue resolving to happen at doctree reading
* Fixed import of issuetracker module in doc config and setup.py to really import the module from the source tree
* Added missing licence headers
* Added tests for cached issue lookup
* Split single test module into multiple files, and added cache assertions to resolver tests
* \* import blockdiag\_sphinxhelper to support python 2.4
* Issue information is now cached
* Moved node creation into separate function
* Fixed resolver test with no issue information
* Skip resolver tests on missing dependencies
* Updated pytest imports to recommended form
* Fixed URIs in bitbucket resolver tests
* tip is version 0.7 now
* \* Reverted
* \* Merge long\_desc to README
* \* Merge local changes for blockdiag
* Updated doc version and copyright
* Removed unused imports
* Removed markup cruft
* Fixed url of sphinx-contrib issue tracker
* Mention Debian BTS in the readme file
* Added tag issuetracker-0.6 for changeset 3d5a1f7c5070
* Release issuetracker 0.6
* Use https urls in documentation where required
* Bitbucket also uses https for its interface now
* Fixed spelling: It's a BTS, not a PTS!
* Fixed case in changelog
* Added documentation for debian issuetracker
* Give useful names to mock objects to ease debugging
* Also test the call signature of get\_issue\_information (using "mocksignature")
* Fixed NameError in launchpad resolver
* Added a test for launchpad issue reference resolver
* Fixed tests: reference resolvers get the application and not the environment as argument
* tip is 0.6 now, and updated a changelog
* Removed unused import
* Style fixes
* Add tests for Debian bugtracking integration
* Add support for debian bugtracker through python-debianbts
* convert setup.py to work under python 2.5 (at least); remove last print statement from extension setup function
* Added tag spelling-0.1 for changeset 5a74b8f2870c
0.1
---
* remove dev mode flags from spelling setup
* add some instructions and example output to the spelling readme
* add tests for the spelling builder; use info() instead of printing to stdout directly; ignore the wordlist file created by pyenchant when the tests run
* Add a few configuration options and tests to spelling checker
0.0
---
* start the spelling checker builder
* Added tag paverutils-1.4 for changeset efba344aec85
* merge in bug fix for #6
* move the line adjustment code into its own function
* Added tag doxylink-1.0 for changeset 17a383a11be6
* Prepare for 1.0 release
* Start preparation for 1.0
* Add info about ambiguity and reporting bugs
* ...and remove debug statement
* Force use of Unix slash when joining URL parts to fix http://thermite3d.org/phpBB3/viewtopic.php?p=678#p678
* Add 'enum' and 'struct' to list of function argument qualifiers
* Add test for multiple namespaces
* Small performance increase from change to parsing code. Thanks to the PyParsing author Paul McGuire for the help
* Update manual for new parser
* Fixed build path for paverutils's pdf task
* py.test is separate package now, update tox configurations accordingly
* add continue mode; change argument to include an explicit mode name
* add wrap\_lines\_at option
* plantuml: fix handling of non-ascii characters
* plantuml: make test decorators keep the original function name
* plantuml: fix test case to clean outdir on each run
* Added tag blockdiag-0.6 for changeset d74a27ac552e
* \* Update version
* \* Add describe option. \* Follow newest blockdiag's interface
* plantuml: basic support for embedding PlantUML diagram as png
* Added tag issuetracker-0.5.4 for changeset 2f80ac282958
* Release issuetracker-0.5.4
* Use https scheme for github now
* Added tag issuetracker-0.5.3 for changeset 14171abf7cec
* Release issuetracker 0.5.3 with licence text in source tarball
* use 'pdf' bundle when looking for options in the pdf() task; handle blank lines in script output
* first version of OmegaT support extension
* Added tag blockdiag-0.5 for changeset 58cc39db5445
* \* Update version
* \* Update blockdiag/README
* \* blockdiag directive supports external file
* Added tag blockdiag-0.4 for changeset 32df03ad2297
* \* Update version
* \* Follow application interface of blockdiag 0.4
* Added tag blockdiag-0.3.1 for changeset 35f6355fdf9e
* \* Update version
* \* Fix blockdiag raises errors with M17N diagrams
* \* Merged heads
* Added tag blockdiag-0.3 for changeset 15e871a50c7c
* \* Update version; sphinxcontrib-blockdiag 0.3
* \* Update thumbnail. \* Follow blockdiag-0.3.1 interface
* \* Add :maxwidth: option to blockdiag directive
* fed url wasn't picked up in every page, but only syndicated ones. now global
* allows feed\_url links
* trim some unised django cruft
* use django 1.2 feed generator for more compliant output
* Added tag blockdiag-0.2 for changeset 5653485b7c9e
* \* Update version
* \* Add blockdiag\_antialias option
* \* Add blockdiag\_fontpath config option
* \* Fix ttfont was not used
* \* Fix package info
* \* sphinxcontrib-blockdiag run with blockdiag 0.2.2
* \* Update to latest version
* \* Fix description
* \* Add blockdiag extension
* Added tag issuetracker-0.5.2 for changeset 0265fc546096
* Release issuetracker 0.5.2
* Fixed launchpad link
* Do not warn about 404, which simply means, that the issue doesn't exist
* Warn about unexpected HTTP status codes
* Issue reference resolvers get the application object instead of the environment now
* Updated changelog
* Test error message when using a pattern with too many groups
* Catch issue patterns with too many groups with an informative and explanatory error message
* Credit for Denis help
* Updated changelog
* Test builtin resolvers (except for launchpad)
* issuetracker: google code: fix url ("html5lib" project was hardcoded) and make sure closed issues are properly recognized as such
* Only include necessary information in the return value of github resolver
* Added support for an 'interface' role and directive. - Fixes issue 1
* Add copyright header
* Add plain function name also to the index
* Fix function arguments and add an extra space after function/procedure names
* Add initial version of Ada domain
* erlangdomain: 0.1 released
* alter testcase to catch variable capitalization
* pull upstream goodness
* ignore MacOS .DS\_Store cruft
* handle publication times as well as dates
* update docs from feedparser.org notes
* handle absolutifying URLs for feed reader happiness
* breaking tests for absolute URL creation
* Rename the environment to 'test'
* Better description
* Move things around in here to make it look nicer
* Rather than parsing the function as we scan the tag file, push them into a list so we can quickly fly through it as we need. This has given a ~12% speedup
* Minor tweaks. Add a currently unused function to parse a list. This could be useful for concurrent processing
* Add some keywods to setup.py
* Improve error messages. Remove more spare print statements. Re-order import statements to follow PEP 8
* Return the error messages in the correct way. This way they are grouped correctly
* Slightly improve speed by not passing unnecessary variables around
* Improve documentation for functions
* Comment out some debug statements
* Split tests up a little more for more fine-grained testing
* About a 1.6x speed-up for small files and about a 1.2x speed-up for large files
* Fix test
* Add some exception handling around the normalise() function
* Use the environment cache rather than pickling the files myself
* Cache the mapping to a pickled file
* Add a profile environment to tox to test normalise()
* Make normalise about 2.1 time faster
* Add a cProfile benchmark
* Move the function reference to a different page in the documentation
* Move doxylink.py and parsing.py into a module directory
* Added tag doxylink-0.4 for changeset 32f4c6292b3f
* Prepare for 0.4 release
* Update documentation
* Added tests for run\_programs
* Add space only, if extra arguments were given
* Enabled intersphinx to link to Sphinx docs
* Re-ordered functions to group tests and funcargs together
* More parsing tests into a proper test module
* Don't add parentheses if the user provided their own
* Fix some quoting in the documentation
* Add some documentation to the normalise funtion
* Remove this line which was added by mistake. We don't want to run this new version yet
* Add pyparsing to the dependencies
* Add a parsing module to normalise the function signatures
* Add info about function matching to the documentation
* Add function documentation to the Sphinx docs
* Change doc strings to triple-quoted format
* Return the error message rather than printing it manually. Split up the requested symbol into symbol and argument list. Allow for function overloading in the symbol mapping
* Move the documentation into a Sphinx project
* Allow URLs as base paths
* Change the PyPI link and remove the changelog include in the readme since it breaks on PyPI
* Added tag doxylink-0.3 for changeset 191fe6687bc4
* Prepare for release 0.3
* Add parentheses to functions if the add\_function\_parentheses config value is set
* Add the function argument list to the mapping
* Return the kind of symbol as well as the URL from the find\_url function
* Reorganise the filters and split them out into separate functions
* Fixed exclude patterns setting in conf.py
* Added tag paverutils-1.3 for changeset 1574d3a92197
* merge heads after paverutils change
* add break\_lines\_at argument to run\_script
* Add a find\_url2 function to scan the mapping file
* Add some documentation for the new funtion
* Parse the tag file into an (as yet unused) mapping dictionary
* Make sure only the relevant warning is shown
* Only parse the tag file once per run
* Use env specific test prefixes
* \* [rubydomain]: fix minor bug about module function/method \* [rubydomain]: add README contents \* [rubydomain]: published sphinxcontrib-rubydomain to PyPI
* Tag version 0.2
* Added tag doxylink-0.2 for changeset c6403ab574b2
* Improve documentation about generating the Doxygen tag file
* Allow doxylink to work when called from a documentation subdirectory and using a relative HTML path
* Added tests for programoutput and use tox for running them
* Use a better fitting return value
* Improved error message
* Require sphinx 1.0
* Converted intersphinx linking to 1.0 format
* Added tests for issuetracker and use tox for running them
* Use raw string for regex pattern
* Removed superfluous, unused issue\_reference class
* Include tests in manifests
* Re-enabled intersphinx linking with sphinx
* Use tox for testing
* Added pyqt4 tests
* Simplified call checking
* Removed separate environments for different docutils versions
* Added shebang to allow direct execution of the test script
* Simplified code
* Test extension setup
* Use mock library for application mock object
* Converted intersphinx mapping to sphinx 1.0 format and removed broken sphinx 1.0 inventory
* Use tox for test execution
* Tests for epydoc extension
* Moved filename generation into separate function
* Added tox configuration to extension template
* Fixed hard-coded template filename
* Added tag ansi-0.5.1 for changeset 9ccb32d8f5ea
* Release 0.5.1
* Include tests in sdist
* Update for Sphinx 1.0 intersphinx format and remove broken Sphinx inventory
* Fixed broken ordering with nested colors
* Use tox for testing
* Added some basic tests
* Ignore tox build files
* Add docs, correct URL, bump to 0.2
* Use sphinxcontrib- prefix
* Add authors for cheeseshop extension
* Add readme to template
* Add class option to pypi-release; allow linking to specific versions in pypi role
* Merge
* Added tag ansi-0.5 for changeset a4498fcaf565
* Release ansi 0.5
* Ignore ANSI colors in non-html output
* tip is ansi 0.5
* Added tag programoutput-0.4 for changeset 9be29ec83802
* Initial import of the programoutput extension
* Added tag issuetracker-0.5.1 for changeset 64706e5cf5b2
* Release issuetracker 0.5.1
* Removed all forgotten references to lunar.sphinx.ext
* Updated reference sphinx website and fix reference to sphinx-contrib issue tracker
* Updated and cleaned doc configuration
* Initial version of cheeseshop ext
* pull upstream updates
* updating dateutil to be 'python-dateutil'
* When a target cannot be found, make the node an \`inline\` node so there's no link created
* Added tag doxylink-0.1 for changeset fb4622a05ec3
* Finalise for 0.1 release
* Prep for PyPi submission
* Fixed formatting of build message
* Added tag issuetracker-0.5 for changeset 97e5a3997167
* Release issuetracker 0.5
* Updated documentation
* Closed issues are automatically struck through in HTML output
* Enable issuetracker extension in issuetracker docs
* Updated changelog
* Really require Sphinx 1.0 now
* Little style fix
* issuetracker 0.5
* Added tag ansi-0.4.1 for changeset 08054161d994
* Release ansi 0.4.1
* actually generate guids and test accordingly
* merge upstream
* Fixed #2: Remove trailing slashes in manifests for the sake of windows compatibility
* code to include item links and tests for same
* Added tag ansi-0.4 for changeset bd73af2f2114
* Initial import of the ansi extension
* Include documentation in package
* Added tag pyqt4-0.5 for changeset 7afa3beecbfa
* pyqt4 0.5
* Document the pyqt4:signal role
* Renamed pyqt4:sig role to pyqt4:signal
* Changed signature prefix to "PyQt4 signal"
* pyqt4 is version 0.5 now
* Initial commit of doxylink extension
* Added tag pyqt4-0.4 for changeset 602eda17f60d
* Initial import of pyqt4 extension
* Little case fix
* Fixed short description
* Added tag epydoc-0.4 for changeset 4b64025e2e61
* Initial import of epydoc extension
* Added tag issuetracker-0.4 for changeset 16737d7973b2
* Initial import of the issuetracker extension
* tidy up config variables in preparation for actually injecting RSS links later on
* change docs to reflect new Sphinx features
* given up for the moment the battle to create a test that detects file deletion cleanup
* adapt to actually include files that haven't been recently modified into the RSS feed
* merge in upstream
* new tests to capture nastiness around preserving RSS across sessions
* better date parse error handling
* handling date parse errors better
* remove unneccesary import
* get rid of Publish DAte nonsesne
* Added tag traclinks-0.1 for changeset f2d7c92915b3
* \* adjust default config value
* Initial traclinks import
* initial commit for google analytics ext
* Adapt get\_objects() of Erlang domain to API change
* Adapt get\_objects() of Ruby domain to API change
* Cleaned up README: Note this is displayed as a wiki so not all sphinx markup works. Check the displayed version to see if there are any errors
* added ref to ZopeInterface website
* Initial commit of zopeext extension
* Erlang Domain: first alpha version(not implemented some funcitons yet)
* Added tag bitbucket-1.0 for changeset 8348f54ac9d7
* add bitbucket extension
* remove extra files
* add extension names to list
* first version of Ruby Domain
* osaka: first version
* Added tag paverutils-1.2 for changeset bf0e1d56c6e3
* switch to distribute for packaging
* Added tag paverutils-1.2 for changeset ae10f103f453
* re-raise exceptions in run\_script
* autorun: Add basic info about autorun
* autorun: Execute code in a runblock directive
* Fix a typo in a docstring
* add info about gnuplot extension
* tests fixed to create empty dirs so as to work on fresh checkout
* tidyied up test cruft; made run.py actually work
* suprious nose import
* naming consistency
* setup.py should probably contain project name
* making licensing explicit
* update docs
* corrected date handling tests
* Some handy help methods for nose are the secret sauce that make this test suite manageable. I feel a passing test suite approach
* updating tests to only rely upon assert and no n
* initial addition of feedgenerator from my site repo
* aafig: Clean and improve the maintainer documentation
* Tag mscgen-0.4
* mscgen: Make release development previews by default
* mscgen: Update CHANGES
* mscgen: Add maintainer documentation
* aafig: Add maintainer documentation
* aafig: Fix "Development Status" classifier in setup.py
* Tag aafig-1.0
* aafig: Update CHANGES file for 1.0 release
* gnuplot: Add gnuplot Sphinx extension
* update document import #2 patch
* refactoring document and fix URL
* merge sdedit into sphinx-contrib
* aafig: Improve error reporting when aafigure package is missing
* aafig: Add VIM magic line to match the file format
* aafig: Fix HTML builder rendering
* Whooshindex back to development
* Added tag whooshindex-0.1 for changeset b1417fd103aa
* Whooshindex 0.1
* Fix wrong author
* Ignore emacs .\*~ files
* Move Whoosh indexer files around
* Add Whoosh indexer
* aafig: Bump version to 1.0
* Tag aafig-0.3
* mscgen: Change license to BOLA
* mscgen: Remove unused 'options' node attribute
* mscgen: Add sphinx website/manual
* aafig: Change license to BOLA
* aafig: Add Sphinx website/manual
* aafig: Only try code that is expected to raise an exception
* aafig: Don't override Image directive unchanged attributes
* aafig: Don't override width and height for SVG images
* aafig: Make aspect option behave properly
* aafig: Add partial format redefinition for \`\`aafig\_format\`\`
* aafig: Update aafigure link and dependency version in the docs
* aafig: Update CHANGES file
* aafig: Support builders for text format
* aafig: Support missing aafigure module
* aafig: Use ASCII art when can't render the image
* aafig: Add TODO list
* aafig: Use percentage for aspect option
* aafig: Make Aafig directive inherit from the Image
* Added tag context-0.1 for changeset 4a85a2b54f65
* Added tag lilypond-1.0 for changeset 38518c51732a
* Added tag sword-1.0 for changeset 7ab6daf74946
* sword,lilypond: Add links in README
* Added tag paverutils-1.1 for changeset 39a956e52160
* add run\_script function to sphinxcontrib.paverutils
* aafig: Remove debug print
* aafig: Merge default options before calculating the hash
* aafig: Update CHANGES file
* aafig: Don't break if a SVG metadata file is missing
* aafig: Put SVG metadata files in the build directory
* aafig: Add missing format operator when rendering to SVG
* aafig: Fix typo in package description
* aafig: Update CHANGES file
* aafig: Add a simple example to package description
* aafig: Change dependency to new aafigure package
* aafig: Raise the right exception when aafigure.render() fails
* aafig: Add docutils-aafigure (>=0.2) dependency
* aafig: Start version 0.3
* Tag aafig-0.2
* aafigure: Fix SVG output for HTML writer
* aafig: Add aafig\_default\_options configuration option \* \* \* amend: new option \* \* \* fix
* aafig: Fix aafig\_format option documentation
* aafig: Start version 0.2 \* \* \* amend: increase version
* aafig: Add release date to versions in CHANGES
* Add aafig-0.1 tag
* aafig: Improve package short and long description
* aafig: Improve About documentation
* aafig: Rename package as sphinxcontrib-aafig \* \* \* aafig: Fix package name in PYPI URL
* aafig: Don't use dev and date tags in setup.cfg
* mscgen: Fix package name in the PYPI URL
* Add mscgen-0.3 tag
* mscgen: Improve package short and long descriptions
* mscgen: Change package name to sphinxcontrib-mscgen
* mscgen: Don't use dev and date tags in setup.cfg
* fix urls for paverutils, again
* Added tag paverutils-1-0 for changeset 788d8ee0f4e2
* fix urls for paverutils
* add task information to paverutils readme
* Added tag paverutils-1-0 for changeset bb1d543c692b
* update paverutils docs
* first version of paverutils
* context, sword: Add packages
* Add sword extension
* Add ConTeXt builder, which is very primative
* Add mscgen extension
* mscgen: Add e-mail after the author name
* Add mscgen extension
* Add lilypond extension
* Switch to separate distribution per extension
* Add initial file infrastructure
sphinxcontrib-spelling-4.2.0/setup.py 0000644 0001017 0000765 00000000565 12271220255 021667 0 ustar dhellmann dhellmann 0000000 0000000 #!/usr/bin/env python
import setuptools
# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
import multiprocessing # flake8: noqa
except ImportError:
pass
setuptools.setup(
setup_requires=['pbr'],
pbr=True)
sphinxcontrib-spelling-4.2.0/tox.ini 0000644 0001017 0000765 00000000763 13312441031 021462 0 ustar dhellmann dhellmann 0000000 0000000 [tox]
envlist=py36,linter,docs
[testenv]
# Use a local copy of my "fix-py3-install" branch from the fork of
# pyenchant that lets us install it from source.
# https://github.com/dhellmann/pyenchant/tree/fix-py3-install
deps=
.[test]
commands=
{toxinidir}/tools/travis.sh '{posargs}'
[testenv:linter]
deps=
.[linter]
setenv =
BUILD=linter
basepython=python3
[flake8]
show-source = True
exclude = .tox,dist,doc,*.egg,build
[testenv:docs]
setenv =
BUILD=docs
basepython=python3
sphinxcontrib-spelling-4.2.0/.testr.conf 0000644 0001017 0000765 00000000227 13162764626 022255 0 ustar dhellmann dhellmann 0000000 0000000 [DEFAULT]
test_command=${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list
sphinxcontrib-spelling-4.2.0/setup.cfg 0000644 0001017 0000765 00000001663 13312441221 021771 0 ustar dhellmann dhellmann 0000000 0000000 [metadata]
name = sphinxcontrib-spelling
description-file = README
author = Doug Hellmann
author-email = doug@doughellmann.com
summary = Sphinx spelling extension
home-page = https://github.com/sphinx-contrib/spelling
classifier =
Development Status :: 4 - Beta
Environment :: Console
Environment :: Web Environment
Intended Audience :: Developers
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3.5
Topic :: Documentation
Topic :: Utilities
[global]
setup-hooks =
pbr.hooks.setup_hook
[files]
packages =
sphinxcontrib
namespace_packages =
sphinxcontrib
[extras]
test =
fixtures>=3.0.0
python-subunit>=0.0.18
testrepository>=0.0.18
testscenarios>=0.4
testtools>=1.4.0
coverage!=4.4,>=4.0
linter =
flake8==3.5.0
[egg_info]
tag_build =
tag_date = 0
[aliases]
release = egg_info -RDb ''
sphinxcontrib-spelling-4.2.0/MANIFEST.in 0000644 0001017 0000765 00000000126 12342355526 021715 0 ustar dhellmann dhellmann 0000000 0000000 include README
include LICENSE
include sphinxcontrib/spelling/tests/test_wordlist.txt
sphinxcontrib-spelling-4.2.0/.travis.yml 0000644 0001017 0000765 00000001300 13312441031 022244 0 ustar dhellmann dhellmann 0000000 0000000 language: python
python:
- "3.5"
- "3.6"
- "nightly"
# Test the nightly build of cpython, but ignore any failures.
# Add separate test environments for the docs and flake8 linter.
matrix:
allow_failures:
- python: "nightly"
include:
- env: BUILD=docs
- env: BUILD=linter
# travis pre-installs some packages that may conflict with our test
# dependencies, so remove them before we set ourselves up. Also
# install pbr to avoid any setup_requires funkiness with
# pip/setuptools.
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y enchant
- pip uninstall -y nose mock
- pip install pbr
install: pip install .[test] .[linter]
script:
- ./tools/travis.sh sphinxcontrib-spelling-4.2.0/sphinxcontrib/ 0000755 0001017 0000765 00000000000 13312441221 023034 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib/__init__.py 0000644 0001017 0000765 00000000555 12271205514 025160 0 ustar dhellmann dhellmann 0000000 0000000 # -*- coding: utf-8 -*-
"""
sphinxcontrib
~~~~~~~~~~~~~
This package is a namespace package that contains all extensions
distributed in the ``sphinx-contrib`` distribution.
:copyright: Copyright 2007-2009 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
__import__('pkg_resources').declare_namespace(__name__)
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/ 0000755 0001017 0000765 00000000000 13312441221 024651 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/ 0000755 0001017 0000765 00000000000 13312441221 026013 5 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/test_filter.py 0000644 0001017 0000765 00000002002 13162764626 030727 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Tests for filters.
"""
import unittest
from enchant.tokenize import get_tokenizer
from sphinxcontrib.spelling import filters
class FilterTest(unittest.TestCase):
def test_builtin_unicode(self):
f = filters.PythonBuiltinsFilter(None)
assert not f._skip(u'passé')
def test_builtin_regular(self):
f = filters.PythonBuiltinsFilter(None)
assert f._skip('print')
def test_acronym(self):
text = 'a front-end for DBM-style databases'
t = get_tokenizer('en_US', [])
f = filters.AcronymFilter(t)
words = [w[0] for w in f(text)]
assert 'DBM' not in words, 'Failed to filter out acronym'
def test_acronym_unicode(self):
text = u'a front-end for DBM-style databases'
t = get_tokenizer('en_US', [])
f = filters.AcronymFilter(t)
words = [w[0] for w in f(text)]
assert u'DBM' not in words, 'Failed to filter out acronym'
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/test_wordlist.txt 0000644 0001017 0000765 00000000004 12271211603 031456 0 ustar dhellmann dhellmann 0000000 0000000 txt
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/__init__.py 0000644 0001017 0000765 00000000000 12271211603 030114 0 ustar dhellmann dhellmann 0000000 0000000 sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/test_builder.py 0000644 0001017 0000765 00000013231 13243026564 031066 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Tests for SpellingBuilder
"""
from __future__ import print_function
import codecs
import os
import textwrap
import fixtures
from six import StringIO
import testtools
from sphinx.application import Sphinx
class BuilderTest(testtools.TestCase):
def setUp(self):
super(BuilderTest, self).setUp()
self.tempdir = self.useFixture(fixtures.TempDir()).path
self.srcdir = os.path.join(self.tempdir, 'src')
self.outdir = os.path.join(self.tempdir, 'out')
os.mkdir(self.srcdir)
os.mkdir(self.outdir)
def test_setup(self):
with open(os.path.join(self.srcdir, 'conf.py'), 'w') as f:
f.write(textwrap.dedent('''
extensions = [ 'sphinxcontrib.spelling' ]
'''))
stdout = StringIO()
stderr = StringIO()
# If the spelling builder is not properly initialized,
# trying to use it with the Sphinx app class will
# generate an exception.
Sphinx(
self.srcdir, self.srcdir, self.outdir, self.outdir, 'spelling',
status=stdout, warning=stderr,
freshenv=True,
)
def test_title(self):
with open(os.path.join(self.srcdir, 'conf.py'), 'w') as f:
f.write(textwrap.dedent('''
extensions = [ 'sphinxcontrib.spelling' ]
'''))
with open(os.path.join(self.srcdir, 'contents.rst'), 'w') as f:
f.write(textwrap.dedent('''
Welcome to Speeling Checker documentation!
==========================================
'''))
stdout = StringIO()
stderr = StringIO()
app = Sphinx(
self.srcdir, self.srcdir, self.outdir, self.outdir, 'spelling',
status=stdout, warning=stderr,
freshenv=True,
)
app.build()
with codecs.open(app.builder.output_filename, 'r') as f:
output_text = f.read()
self.assertIn('(Speeling)', output_text)
def test_body(self):
with open(os.path.join(self.srcdir, 'conf.py'), 'w') as f:
f.write(textwrap.dedent('''
extensions = ['sphinxcontrib.spelling']
'''))
with open(os.path.join(self.srcdir, 'contents.rst'), 'w') as f:
f.write(textwrap.dedent('''
Welcome to Spelling Checker documentation!
==========================================
There are several mispelled words in this txt.
'''))
stdout = StringIO()
stderr = StringIO()
app = Sphinx(
self.srcdir, self.srcdir, self.outdir, self.outdir, 'spelling',
status=stdout, warning=stderr,
freshenv=True,
)
app.build()
print('reading from %s' % app.builder.output_filename)
with codecs.open(app.builder.output_filename, 'r') as f:
output_text = f.read()
self.assertIn('(mispelled)', output_text)
self.assertIn('(txt)', output_text)
def test_ignore_literals(self):
with open(os.path.join(self.srcdir, 'conf.py'), 'w') as f:
f.write(textwrap.dedent('''
extensions = ['sphinxcontrib.spelling']
'''))
with open(os.path.join(self.srcdir, 'contents.rst'), 'w') as f:
f.write(textwrap.dedent('''
Welcome to Spelling Checker documentation!
==========================================
There are several misspelled words in this text.
::
Literal blocks are ignoreed.
Inline ``litterals`` are ignored, too.
'''))
stdout = StringIO()
stderr = StringIO()
app = Sphinx(
self.srcdir, self.srcdir, self.outdir, self.outdir, 'spelling',
status=stdout, warning=stderr,
freshenv=True,
)
app.build()
print('reading from %s' % app.builder.output_filename)
with codecs.open(app.builder.output_filename, 'r') as f:
output_text = f.read()
self.assertNotIn('(ignoreed)', output_text)
self.assertNotIn('(litterals)', output_text)
def test_several_word_lists(self):
with open(os.path.join(self.srcdir, 'conf.py'), 'w') as f:
f.write(textwrap.dedent('''
extensions = ['sphinxcontrib.spelling']
spelling_word_list_filename=['test_wordlist.txt','test_wordlist2.txt']
'''))
with open(os.path.join(self.srcdir, 'contents.rst'), 'w') as f:
f.write(textwrap.dedent('''
Welcome to Spelling Checker documentation!
==========================================
There are several mispelled words in tihs txt.
'''))
with open(os.path.join(self.srcdir, 'test_wordlist.txt'), 'w') as f:
f.write(textwrap.dedent('''
txt
'''))
with open(os.path.join(self.srcdir, 'test_wordlist2.txt'), 'w') as f:
f.write(textwrap.dedent('''
mispelled
'''))
stdout = StringIO()
stderr = StringIO()
app = Sphinx(
self.srcdir, self.srcdir, self.outdir, self.outdir, 'spelling',
status=stdout, warning=stderr,
freshenv=True,
)
app.build()
print('reading from %s' % app.builder.output_filename)
with codecs.open(app.builder.output_filename, 'r') as f:
output_text = f.read()
# Both of these should be fine now
self.assertNotIn('(mispelled)', output_text)
self.assertNotIn('(txt)', output_text)
# But not this one
self.assertIn('(tihs)', output_text)
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/tests/test_checker.py 0000644 0001017 0000765 00000003521 13162764626 031055 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Tests for SpellingChecker.
"""
import os
import unittest
from sphinxcontrib.spelling.checker import SpellingChecker
class TestChecker(unittest.TestCase):
def test_errors_only(self):
checker = SpellingChecker(lang='en_US',
suggest=False,
word_list_filename=None,
)
for word, suggestions in checker.check('This txt is wrong'):
assert not suggestions, 'Suggesting'
assert word == 'txt'
return
def test_with_suggestions(self):
checker = SpellingChecker(lang='en_US',
suggest=True,
word_list_filename=None,
)
for word, suggestions in checker.check('This txt is wrong'):
assert suggestions, 'Not suggesting'
assert word == 'txt'
return
def test_with_wordlist(self):
checker = SpellingChecker(
lang='en_US',
suggest=False,
word_list_filename=os.path.join(os.path.dirname(__file__),
'test_wordlist.txt')
)
words = [w for w, s in checker.check('This txt is wrong')]
assert not words, 'Did not use personal word list file'
return
# NOTE(dhellmann): Fails after updating to testrepository.
#
# def test_non_english(self):
# checker = SpellingChecker(lang='de_DE',
# suggest=False,
# word_list_filename=None,
# )
# for word, suggestions in checker.check('Dieser Txt ist falsch'):
# assert word == 'Txt'
# return
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/__init__.py 0000644 0001017 0000765 00000003471 13243030241 026766 0 ustar dhellmann dhellmann 0000000 0000000 import inspect
from .builder import SpellingBuilder
from .directive import SpellingDirective
def setup(app):
# If we are running inside the test suite, "app" will be a module.
if inspect.ismodule(app):
return
app.info('Initializing Spelling Checker')
app.add_builder(SpellingBuilder)
# Register the 'spelling' directive for setting parameters within
# a document
app.add_directive('spelling', SpellingDirective)
# Report guesses about correct spelling
app.add_config_value('spelling_show_suggestions', False, 'env')
# Set the language for the text
app.add_config_value('spelling_lang', 'en_US', 'env')
# Set the language for the tokenizer
app.add_config_value('tokenizer_lang', 'en_US', 'env')
# Set a user-provided list of words known to be spelled properly
app.add_config_value('spelling_word_list_filename',
None,
'env')
# Assume anything that looks like a PyPI package name is spelled properly
app.add_config_value('spelling_ignore_pypi_package_names', False, 'env')
# Assume words that look like wiki page names are spelled properly
app.add_config_value('spelling_ignore_wiki_words', True, 'env')
# Assume words that are all caps, or all caps with trailing s, are
# spelled properly
app.add_config_value('spelling_ignore_acronyms', True, 'env')
# Assume words that are part of __builtins__ are spelled properly
app.add_config_value('spelling_ignore_python_builtins', True, 'env')
# Assume words that look like the names of importable modules are
# spelled properly
app.add_config_value('spelling_ignore_importable_modules', True, 'env')
# Add any user-defined filter classes
app.add_config_value('spelling_filters', [], 'env')
return {"parallel_read_safe": True}
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/builder.py 0000644 0001017 0000765 00000015141 13312441057 026662 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Spelling checker extension for Sphinx.
"""
import collections
import io
import os
import tempfile
import docutils.nodes
from sphinx.builders import Builder
from sphinx.util.console import darkgreen, red
from enchant.tokenize import EmailFilter, WikiWordFilter
from . import checker
from . import filters
# TODO - Words with multiple uppercase letters treated as classes and ignored
class SpellingBuilder(Builder):
"""
Spell checks a document
"""
name = 'spelling'
def init(self):
self.docnames = []
self.document_data = []
self.misspelling_count = 0
self.env.settings["smart_quotes"] = False
# Initialize the per-document filters
if not hasattr(self.env, 'spelling_document_filters'):
self.env.spelling_document_filters = collections.defaultdict(list)
# Initialize the global filters
f = [
filters.ContractionFilter,
EmailFilter,
]
if self.config.spelling_ignore_wiki_words:
self.info('Ignoring wiki words')
f.append(WikiWordFilter)
if self.config.spelling_ignore_acronyms:
self.info('Ignoring acronyms')
f.append(filters.AcronymFilter)
if self.config.spelling_ignore_pypi_package_names:
self.info('Adding package names from PyPI to local dictionary...')
f.append(filters.PyPIFilterFactory())
if self.config.spelling_ignore_python_builtins:
self.info('Ignoring Python builtins')
f.append(filters.PythonBuiltinsFilter)
if self.config.spelling_ignore_importable_modules:
self.info('Ignoring importable module names')
f.append(filters.ImportableModuleFilter)
f.extend(self.config.spelling_filters)
if not os.path.isdir(self.outdir):
os.mkdir(self.outdir)
word_list = self.get_wordlist_filename()
self.info('Looking for custom word list in {}'.format(word_list))
self.checker = checker.SpellingChecker(
lang=self.config.spelling_lang,
tokenizer_lang=self.config.tokenizer_lang,
suggest=self.config.spelling_show_suggestions,
word_list_filename=word_list,
filters=f,
)
self.output_filename = os.path.join(self.outdir, 'output.txt')
self.output = io.open(self.output_filename, 'w', encoding='UTF-8')
def get_wordlist_filename(self):
word_list = self.config.spelling_word_list_filename
if word_list is None:
word_list = 'spelling_wordlist.txt'
if not isinstance(word_list, list):
filename = os.path.join(self.srcdir, word_list)
return filename
# In case the user has multiple word lists, we combine them
# into one large list that we pass on to the checker.
return self._build_combined_wordlist()
def _build_combined_wordlist(self):
# If we have a list, the combined list is the first list plus all words
# from the other lists. Otherwise, word_list is assumed to just be a
# string.
temp_dir = tempfile.mkdtemp()
combined_word_list = os.path.join(temp_dir,
'spelling_wordlist.txt')
word_list = self.config.spelling_word_list_filename
with io.open(combined_word_list,
'w',
encoding='UTF-8') as outfile:
for word_file in word_list:
# Paths are relative
long_word_file = os.path.join(self.srcdir, word_file)
self.info('Adding contents of {} to custom word list'.format(
long_word_file))
with io.open(long_word_file, 'r', encoding='UTF-8') as infile:
infile_contents = infile.readlines()
outfile.writelines(infile_contents)
# Check for newline, and add one if not present
if infile and not infile_contents[-1].endswith('\n'):
outfile.write(u'\n')
return combined_word_list
def get_outdated_docs(self):
return 'all documents'
def prepare_writing(self, docnames):
return
def get_target_uri(self, docname, typ=None):
return ''
def format_suggestions(self, suggestions):
if not self.config.spelling_show_suggestions or not suggestions:
return u''
return u'[' + u', '.join(u'"%s"' % s for s in suggestions) + u']'
TEXT_NODES = set([
'block_quote',
'paragraph',
'list_item',
'term',
'definition_list_item',
'title',
])
def write_doc(self, docname, doctree):
self.checker.push_filters(self.env.spelling_document_filters[docname])
for node in doctree.traverse(docutils.nodes.Text):
if (node.tagname == '#text' and
node.parent and
node.parent.tagname in self.TEXT_NODES):
# Figure out the line number for this node by climbing the
# tree until we find a node that has a line number.
lineno = None
parent = node
seen = set()
while lineno is None:
# self.info('looking for line number on %r' % node)
seen.add(parent)
parent = node.parent
if parent is None or parent in seen:
break
lineno = parent.line
# Check the text of the node.
for word, suggestions in self.checker.check(node.astext()):
msg_parts = [docname + '.rst']
if lineno:
msg_parts.append(darkgreen(str(lineno)))
msg_parts.append(red(word))
msg_parts.append(self.format_suggestions(suggestions))
msg = ':'.join(msg_parts)
self.info(msg)
self.output.write(u"%s:%s: (%s) %s\n" % (
self.env.doc2path(docname, None),
lineno, word,
self.format_suggestions(suggestions),
))
self.misspelling_count += 1
self.checker.pop_filters()
return
def finish(self):
self.output.close()
self.info('Spelling checker messages written to %s' %
self.output_filename)
if self.misspelling_count:
self.warn('Found %d misspelled words' % self.misspelling_count)
return
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/directive.py 0000644 0001017 0000765 00000002203 13304545551 027212 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Spelling checker extension for Sphinx.
"""
import collections
from docutils.parsers import rst
from . import filters
class SpellingDirective(rst.Directive):
"""Custom directive for passing instructions to the spelling checker.
.. spelling::
word1
word2
"""
option_spec = {}
has_content = True
def run(self):
env = self.state.document.settings.env
# Initialize the per-document filters
if not hasattr(env, 'spelling_document_filters'):
env.spelling_document_filters = collections.defaultdict(list)
good_words = []
for entry in self.content:
if not entry:
continue
good_words.extend(entry.split())
if good_words:
env.app.debug(
'Extending local dictionary for %s with %s' % (
env.docname, str(good_words))
)
env.spelling_document_filters[env.docname].append(
filters.IgnoreWordsFilterFactory(good_words)
)
return []
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/filters.py 0000644 0001017 0000765 00000006325 13304545551 026715 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Spelling checker extension for Sphinx.
"""
import imp
from enchant.tokenize import Filter, tokenize, unit_tokenize
from six import moves
builtins = moves.builtins
xmlrpc_client = moves.xmlrpc_client
# TODO - Words with multiple uppercase letters treated as classes and ignored
class AcronymFilter(Filter):
"""If a word looks like an acronym (all upper case letters),
ignore it.
"""
def _skip(self, word):
return (
word.isupper() or # all caps
# pluralized acronym ("URLs")
(word[-1].lower() == 's' and word[:-1].isupper())
)
class list_tokenize(tokenize):
def __init__(self, words):
tokenize.__init__(self, '')
self._words = words
def next(self):
if not self._words:
raise StopIteration()
word = self._words.pop(0)
return (word, 0)
class ContractionFilter(Filter):
"""Strip common contractions from words.
"""
splits = {
"won't": ['will', 'not'],
"isn't": ['is', 'not'],
"can't": ['can', 'not'],
"i'm": ['I', 'am'],
}
def _split(self, word):
# Fixed responses
if word.lower() in self.splits:
return list_tokenize(self.splits[word.lower()])
# Possessive
if word.lower().endswith("'s"):
return unit_tokenize(word[:-2])
# * not
if word.lower().endswith("n't"):
return unit_tokenize(word[:-3])
return unit_tokenize(word)
class IgnoreWordsFilter(Filter):
"""Given a set of words, ignore them all.
"""
def __init__(self, tokenizer, word_set):
self.word_set = set(word_set)
Filter.__init__(self, tokenizer)
def _skip(self, word):
return word in self.word_set
class IgnoreWordsFilterFactory(object):
def __init__(self, words):
self.words = words
def __call__(self, tokenizer):
return IgnoreWordsFilter(tokenizer, self.words)
class PyPIFilterFactory(IgnoreWordsFilterFactory):
"""Build an IgnoreWordsFilter for all of the names of packages on PyPI.
"""
def __init__(self):
client = xmlrpc_client.ServerProxy('https://pypi.python.org/pypi')
IgnoreWordsFilterFactory.__init__(self, client.list_packages())
class PythonBuiltinsFilter(Filter):
"""Ignore names of built-in Python symbols.
"""
def _skip(self, word):
try:
return hasattr(builtins, word)
except UnicodeEncodeError:
return False
class ImportableModuleFilter(Filter):
"""Ignore names of modules that we could import.
"""
def __init__(self, tokenizer):
Filter.__init__(self, tokenizer)
self.found_modules = set()
self.sought_modules = set()
def _skip(self, word):
if word not in self.sought_modules:
self.sought_modules.add(word)
try:
imp.find_module(word)
except UnicodeEncodeError:
return False
except ImportError:
return False
else:
self.found_modules.add(word)
return True
return word in self.found_modules
sphinxcontrib-spelling-4.2.0/sphinxcontrib/spelling/checker.py 0000644 0001017 0000765 00000002712 13304541124 026635 0 ustar dhellmann dhellmann 0000000 0000000 # encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann. All rights reserved.
#
"""Spelling checker extension for Sphinx.
"""
import enchant
from enchant.tokenize import get_tokenizer
class SpellingChecker(object):
"""Checks the spelling of blocks of text.
Uses options defined in the sphinx configuration file to control
the checking and filtering behavior.
"""
def __init__(self, lang, suggest, word_list_filename,
tokenizer_lang='en_US', filters=None):
if filters is None:
filters = []
self.dictionary = enchant.DictWithPWL(lang, word_list_filename)
self.tokenizer = get_tokenizer(tokenizer_lang, filters)
self.original_tokenizer = self.tokenizer
self.suggest = suggest
def push_filters(self, new_filters):
"""Add a filter to the tokenizer chain.
"""
t = self.tokenizer
for f in new_filters:
t = f(t)
self.tokenizer = t
def pop_filters(self):
"""Remove the filters pushed during the last call to push_filters().
"""
self.tokenizer = self.original_tokenizer
def check(self, text):
"""Yields bad words and suggested alternate spellings.
"""
for word, pos in self.tokenizer(text):
correct = self.dictionary.check(word)
if correct:
continue
yield word, self.dictionary.suggest(word) if self.suggest else []
return