Skip to main content

Django app that provides a template tag and 2 filters for doing syntax highlighting with Pygments

Project description

description

"django-pygments" is a Django app that provides a template tag and two filters for doing syntax highlighting with Pygments.

dependencies

installation

  • Add "django_pygments" to your project directory and to INSTALLED_APPS in your "settings.py",
  • If you want to see the integrated demo page, add a "urls.py" entry for "django_pygments.views.demo".

The project is also available on PyPI:

pip install django-pygments

usage

  • Enclose your code snippet in a pre tag with the non-standard "lang" attribute set to a supported language like this:
<pre lang="python">....</pre>
  • See the view and demo template for examples on how to use the "pygmentify" and "pygmentify_inline" filters (the latter is rather useful for RSS feeds, because it inlines CSS styles by passing noclasses=True to pygments.formatters.HtmlFormatter) or the "pygment" tag.

  • While using the "pygment" template tag, you can pass keyword arguments that you would pass to Pygments HtmlFormatter class constructor by passing them as with keyword arguments along with the pygment tag. Look at demo template for examples. There is one caveat with this feature still. You can only pass Python values as argument values (like strings wrapped within quotes or True or False boolean values, etc.). It doesn't support Django template/context variables as arguments yet.

    E.g: to disable line numbering, use:

{% pygment linenos=False %}
    <pre lang="python">...</pre>
{% endpygment %}

notes

  • The custom HTML formatter class displays each line as an ordered list element, thus implementing line numbering without interfering with copy/pasting.
  • To see a list of supported languages, look at the "lexer_names" variable in "utils.py".

license

3-clause BSD

credits

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

django_pygments-0.8-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

django_pygments-0.8-1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file django_pygments-0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for django_pygments-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 636e85dbf26a1dbf82d65481a964fbefc4f2ce720786f2c8009d608e88142823
MD5 07fbf28dfa2a69d0cf5a65279b827f3d
BLAKE2b-256 23565c1f7b736bdc1a8dd67b9deccd3f226be656b66e51681ae59b9150f0f509

See more details on using hashes here.

File details

Details for the file django_pygments-0.8-1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_pygments-0.8-1-py3-none-any.whl
Algorithm Hash digest
SHA256 19a30d24db09c5a03ffeea8a4c9401574cdd6853203312f21d52fe8da367b18f
MD5 872498aed4e322d859424565899a8adc
BLAKE2b-256 2d010d84893aa229e3d783964cc60280d2125b4956762ff65001fe2dc4d4d9cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page