-
Notifications
You must be signed in to change notification settings - Fork 616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for syntax highlighting in PEPs #1063
Conversation
Thanks @ilevkivskyi , this seems to work well :) |
There was a problem hiding this comment.
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?
templates/pages/pep-page.html
Outdated
@@ -25,6 +25,7 @@ | |||
{% endblock %} | |||
. | |||
{% block content %} | |||
<link rel="stylesheet" type="text/css" href="/static/stylesheets/pygments_default.css" /> |
There was a problem hiding this comment.
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/
.
requirements.txt
Outdated
@@ -44,3 +44,5 @@ uWSGI==2.0.10 | |||
raven==5.2.0 | |||
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 |
There was a problem hiding this comment.
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?
peps/converters.py
Outdated
@@ -160,6 +165,21 @@ def convert_pep_page(pep_number, content): | |||
# Fix PEP links | |||
pep_content = BeautifulSoup(data['content']) | |||
body_links = pep_content.find_all("a") | |||
# Fix hihglighting code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: hihglighting
peps/converters.py
Outdated
from pages.models import Page, Image | ||
|
||
PEP_TEMPLATE = 'pages/pep-page.html' | ||
pep_url = lambda num: 'dev/peps/pep-{}/'.format(num) | ||
|
||
PURE_PYTHON_PEPS = [483, 484, 526] |
There was a problem hiding this comment.
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.
peps/converters.py
Outdated
@@ -160,6 +165,21 @@ def convert_pep_page(pep_number, content): | |||
# Fix PEP links | |||
pep_content = BeautifulSoup(data['content']) | |||
body_links = pep_content.find_all("a") | |||
# Fix hihglighting code | |||
code_blocks = pep_content.find_all("pre", class_="code") |
There was a problem hiding this comment.
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? |
Yeah, that's because I haven't had a chance to look at the new version of the PR yet. |
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? |
I am fine with both possibilities: if it stays closed -- less works for me, if it is reopened -- we will have syntax highlighting sooner :-) |
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. |
Fixes #889
This PR provides two options for syntax highlighting in PEPs:
PURE_PYTHON_PEPS
. I added few examples there just to illustrate the idea... 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).