Add support for syntax highlighting in PEPs by ilevkivskyi · Pull Request #1063 · python/pythondotorg
Fixes #889
This PR provides two options for syntax highlighting in PEPs:
- Automatic highlighting of all literal blocks using Python syntax for PEPs in
PURE_PYTHON_PEPS. I added few examples there just to illustrate the idea. - Now there is support for reST
.. code:: your_favourite_language. Such literal blocks will be highlighted using the corresponding syntax.
This PR requires Pygments 2.1.3.
I added a CSS based on Pygments default (I made very few modifications, to match the "general spirit" of the site).
Thanks @ilevkivskyi , this seems to work well :)
I tested this locally, using the change made in python/peps#229
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! How hard would be to add some tests?
| {% endblock %} | ||
| . | ||
| {% block content %} | ||
| <link rel="stylesheet" type="text/css" href="/static/stylesheets/pygments_default.css" /> |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use {{ STATIC_URL }} instead of hardcoding /static/.
| django-waffle==0.11.1 | ||
| sqlparse<0.2 #TODO: delete this when we switch to Django 1.8 and DDT 1.5 | ||
|
|
||
| pygments==2.1.3 |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a comment so we won't forget to remove the dependency when we move PEPs to RtD?
| # Fix PEP links | ||
| pep_content = BeautifulSoup(data['content']) | ||
| body_links = pep_content.find_all("a") | ||
| # Fix hihglighting code |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: hihglighting
| PEP_TEMPLATE = 'pages/pep-page.html' | ||
| pep_url = lambda num: 'dev/peps/pep-{}/'.format(num) | ||
|
|
||
| PURE_PYTHON_PEPS = [483, 484, 526] |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably not important to have a constant. I'd say either inline it or add a comment to explain why we need it.
| pep_content = BeautifulSoup(data['content']) | ||
| body_links = pep_content.find_all("a") | ||
| # Fix hihglighting code | ||
| code_blocks = pep_content.find_all("pre", class_="code") |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nitpick: I know we are already pretty inconsistent with this, but please use single quotes where possible.
@berkerpeksag Thank you for review! I addressed your comments (including a simple test) in a new commit.
This is still marked as "Changes requested", although I think I had implemented the required changes a month ago. Should anything more be changed here?
Thanks for the PR again, @ilevkivskyi. Your changes look good to me, but unfortunately I have to reject this PR. Our ultimate goal is to move PEPs from python.org to Read the Docs so my preference is only fixing bugs in python.org infrastructure and save feature requests to the new infrastructure (also, note that we are going to get this feature for free when we move to RtD)
Maybe we should open this again since getting the PEPs over to Read the Docs is moving at the speed of mud?
Maybe we should open this again since getting the PEPs over to Read the Docs is moving at the speed of mud?
I am fine with both possibilities: if it stays closed -- less works for me, if it is reopened -- we will have syntax highlighting sooner :-)
Maybe we should open this again since getting the PEPs over to Read the Docs is moving at the speed of mud?
Three years on: I agree, it'd be great get colouring in whilst waiting on RtD (this big recent effort has stalled: python/peps#1385). I find highlighted code much easier to read.
I've rebased and re-opened this as PR #1638.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
