- Always fail on warnings, remove the related flag
- Nitpicky is now enabled in ``conf.py``, remove the related flag
- Use direct links to PEPs rather than Sphinx-only ``:doc:`` roles
- Remove references to ``AUTHOR_OVERRIDES.csv``, which is no longer used
- Fix indentation for an enumerated list
* Add PEP 0 parser
* Add PEP 0 writer
* Add PEP 0 generator and authors override
* Add/update build and run
* Simplify `create_index_file`
* Special status handling
* Add constants for PEP related magic strings
* Prefer checking on class
* Add PEP.hide_status, use constants
* Remove comment from 2008 (current method works fine)
* Clarify intent of for-else loop
* Hook in to Sphinx (oops, missed when splitting out this PR)
* Rename AUTHORS.csv for clarity
* Sort and strip spaces
* Prefer `authors_overrides` name
* Add pep_0_errors.py
* Move author_sort_by to writer
* PEP init misc
* Split out Author
* Drop pep_0 prefix
* Pass title length as an argument
* Add constants.py to hold global type / status values
* Capitalise constants
* Capitalise constants
* Update PEP classification algorithm
* Extract static methods to module level
* Add emit_text, emit_pep_row
* Use constants in writer.py
* Sort imports
* Sort constants
* Fix sorting in historical and dead PEPs
* Extract static methods to module level
* Extract static methods to module level (parser.py
* Make Author a NamedTuple
* Fix author duplication bug with NamedTuples
* Revert to old PEP classification algorithm
* Define PEP equality
See #2, #1385 for context. Superseeds #1566.
This is the docutils parsing, transforms and writing part, building on PR #1930. It contains a pseudo-package, `sphinx_pep_extensions`, which itself contains:
### Docutils parsing:
- `PEPParser` - collates transforms and interfaces with Sphinx core
- `PEPRole` - deals with :PEP:`blah` in RST source
### Docutils transforms:
- `PEPContents` (Creates table of contents without page title)
- `PEPFooter` (Dels with footnotes, link to source, last modified commit)
- `PEPHeaders` (Parses RFC2822 headers)
- `PEPTitle` - Creates document title from PEP headers
- `PEPZero` - Masks email addresses and creates links to PEP numbers from tables in `pep-0000.rst`
### Docutils HTML output:
- `PEPTranslator` - Overrides to the default HTML translator to enable better matching of the current PEP styles
See #2, #1385 for context. Superseeds #1565.
This is the minimal core Sphinx support part, adding a bare minimum of useful things to get Sphinx to build and deploy, whilst not affecting the current build system. There is no theming or custom parsing needed to properly deal with PEPs.
- `build.py` - build script
- `conf.py` - Sphinx configuration
- `Makefile` - new targets for Sphinx
- `.gitignore` - add ignores for `venv` and `package` directories
- `contents.rst` - Sphinx page to discover all PEPs
- `deploy-gh-pages.yaml` - builds and deploys to github pages
- `requirements.txt`