Add sphinx support by AA-Turner · Pull Request #1385 · python/peps

merwok

merwok

vstinner

@AA-Turner

- RFC2822 headers work
- Contents page generated
- Title autogeneration not working
- PEP 0 not started
Also add pep_parser as I missed it

@AA-Turner

@AA-Turner

@AA-Turner

@AA-Turner

This was referenced

Aug 15, 2020

@AA-Turner @pradyunsg

Co-authored-by: Pradyun Gedam <3275593+pradyunsg@users.noreply.github.com>

This was referenced

Sep 21, 2020

This was referenced

Apr 20, 2021

pablogsal pushed a commit that referenced this pull request

Jun 8, 2021
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`

pablogsal pushed a commit that referenced this pull request

Jun 9, 2021
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

pablogsal pushed a commit that referenced this pull request

Jun 15, 2021
See #2, #1385 for context.

This is the RSS generation part, building on PR #1930. It contains the logic for generating RSS

This was originally in #1385 and #1565, split out for ease of review

pablogsal pushed a commit that referenced this pull request

Jun 30, 2021
See #2, #1385 for context. Superseeds #1568.

This is the Sphinx-theming part, building on PR #1930.

### Stylesheets:
- `style.css` - styles
- `mq.css` - media queries

### Jinja2 Templates:
- `page.html` - overarching template

### Javascript:
- `doctools.js` - fixes footnote brackets

### Theme miscellany
- `theme.conf` - sets pygments styles, theme internals