Skip to main content

Provides previews with syntax highlight for multiple formats

Project description

Tests

ckanext-pygments

This extension provides a preview with syntax highlight for multiple text resources formats.

Caching

There is a caching mechanism implemented in this extension. It is disabled by default. To enable it, set ckanext.pygments.cache.enable to True. You can also set the time to live for the cache in seconds with ckanext.pygments.cache.ttl. The default is 7200 seconds (2 hours). You can also set the maximum size of the resource to cache in bytes with ckanext.pygments.cache.resouce_max_size. The default is 20MB.

Why cache is disabled by default?

We use Redis for caching and it uses memory. If you have a lot of resources and they are big, you can run out of memory. That's why it is disabled by default. It's still debatable if we need cache at all. Big resource processed with pygments will be even bigger. So we can have a lot of memory usage. But if we have a lot of resources and many users access it, we can save a lot of time on processing.

Config settings

Supported config options:

- key: ckanext.pygments.supported_formats
  type: list
  description: Specify a list of supported formats
  default: sql html xhtml htm xslt py pyw pyi jy sage sc rs rs.in rst rest md markdown xml xsl rss xslt xsd wsdl wsf json jsonld yaml yml dtd php inc rdf ttl js

- key: ckanext.pygments.max_size
  type: int
  description: Specify how many bytes we are going to render from file. Default to 1MB
  default: 1048576

- key: ckanext.pygments.include_htmx_asset
  description: Include HTMX asset
  default: true
  type: bool

- key: ckanext.pygments.default_theme
  description: Default theme for preview
  default: default

- key: ckanext.pygments.cache.enable
  description: Enable cache
  default: false
  type: bool

- key: ckanext.pygments.cache.preview_max_size
  description: Specify what is the maximum size of a preview we are going to cache
  default: 20971520 # 20MB
  type: int

- key: ckanext.pygments.cache.ttl
  description: Specify the time to live of the cache
  default: 7200 # 2 hours
  type: int

Tests

To run the tests, do:

pytest --ckan-ini=test.ini

License

AGPL

Project details


Download files

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

Source Distribution

ckanext_pygments-1.1.2.tar.gz (40.5 kB view details)

Uploaded Source

Built Distribution

ckanext_pygments-1.1.2-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

Details for the file ckanext_pygments-1.1.2.tar.gz.

File metadata

  • Download URL: ckanext_pygments-1.1.2.tar.gz
  • Upload date:
  • Size: 40.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for ckanext_pygments-1.1.2.tar.gz
Algorithm Hash digest
SHA256 451373e9b52323f3551224b5aa64ad2321dd793ecf0768a9e5b13280e6083a8a
MD5 9bf185b615eaaba1bcc44a1920cf576c
BLAKE2b-256 44f8195b3e33871955efce7136a2320dc7a14cf9b266c8b7a2825b18f0da6c1f

See more details on using hashes here.

File details

Details for the file ckanext_pygments-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_pygments-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fcbf3fe3c719b2876641991e98503353acdb07083b3b9a1a691dd5e79b7f8b91
MD5 1a3eca27f9abdf938bba7a62682cfc45
BLAKE2b-256 3ea74d7d064dcef2f9e7129d8c158d85503d2ef50c2b7e744fd1709b0956350c

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