Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Jinja2 extension to highlight source code using Pygments

Project description



A simple Jinja2 extension that uses Pygments to highlight code blocks.

.. image::





* Jinja2 >= 2.4
* Pygments >= 1.5

Highlight examples

{% highlight 'language' %}
{% endhighlight %}

Replace `language` with the appropriate Pygments lexer short name:

Line numbering can be turned on using `lineno='inline'` or `lineno='table'` depending on the style of line numbering you want (as per Pygment's documentation:


{% highlight 'language', lineno='inline' %}
{% endhighlight %}

This can also be used without a language setting


{% highlight lineno='table' %}
{% endhighlight %}

Optional settings

By default Pygments renders the code block inside a div with the class 'highlight', if you want to change the name you can set the environment variable `jinja2_highlight_cssclass` to the class name you would like.

In jinja this can be done after you've created your environment;

env = Environment(extensions=['jinja2_highlight.HighlightExtension'])
# Set the css class name to 'codehilite'
env.extend(jinja2_highlight_cssclass = 'codehilite')

In Flask this can be done with the following (after creating your app):

app.jinja_env.extend(jinja2_highlight_cssclass = 'codehilite')

Using with Flask

See the example at:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jinja2-highlight, version 0.6.1
Filename, size File type Python version Upload date Hashes
Filename, size jinja2-highlight-0.6.1.tar.gz (3.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page