Skip to main content

A Lektor Plugin for Debugging Help

Project description

Lektor Debug

Example ran on the Lektor Example Project's /type page:

example.gif

This Plugin provides a {% debug %} template tag that will render helpful debugging information in a template. To use, simply add this tag in a template, and run lektor server in development mode with LEKTOR_DEV=1 lektor server.

This plugin replaces Lektor's built-in, optional {% debug %} tag from Jinja2's Debug Extension. That tag is completely superceded by this plugins, so we just replace it.

This plugins tag can also be left in with no ill-effects. Unless the environment variable LEKTOR_DEV=1 is set, {% debug %} will be a noop and return an empty string, unlike Lektor's current behavior which, since Jinja2's Debug Extension would not be added, would raise a TemplateSyntaxError.

{% debug %} contents

This tag automatically renders as a collapsed <detail> html element, so it is minimally invasive unless you need it. When expanded, it will show a Python-ish dict with keys for:

  • All fields available on this
  • The complete dir(this), which shows it's native attributes and methods (different from the above)
  • All flowblocks and their fields
  • All current template context, exactly like Jinja2's Debug Extension
  • All available template filters, exactly like Jinja2's Debug Extension
  • All available template tests, exactly like Jinja2's Debug Extension

The top-level keys are meant to quickly tell you what that piece of data is, but do not necessarily correspond to an available key in a real Python dict. For example, this.fields is not a key in any Lektor Python dict, but it's hopefully clear what this represents.

Flowblocks are listed as this.<flowblock name>.blocks, which is how you would access them in a template. Each flow field will present a list of dicts of all blocks' fields and their values.

This debug info is presented as a code block, ran through Lektor's markdown processor. Since that is the case, if you have Lektor Markdown Highlighter installed and configured, this will also use the syntax highlighting for Python.

Additional Template Context

This plugin also adds the following template variables globally:

  • {{ dir }} Python's dir builtin
  • {{ str }} Python's str builtin
  • {{ type }} Python's type builtin

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

lektor-debug-0.1.5.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

lektor_debug-0.1.5-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file lektor-debug-0.1.5.tar.gz.

File metadata

  • Download URL: lektor-debug-0.1.5.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for lektor-debug-0.1.5.tar.gz
Algorithm Hash digest
SHA256 b8082ceff3c7c9c950978744a6a763e3fa0756e3143f1cf94e063747a20bedaf
MD5 9173d2caee66956511d060f3452bb57b
BLAKE2b-256 41f46b49bf37ff62cb35dc1feb05c8f987314950d76f1a2f203cdeb72c0cf248

See more details on using hashes here.

File details

Details for the file lektor_debug-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for lektor_debug-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 412c9a5dedd35a85a9af91697a22b773259b5ecd8e5d11a32ded7df7aa1cd6fc
MD5 b9aa357a19f3d2836e8d8082e8a0782c
BLAKE2b-256 cff7fd0e8d7ab1dcf0ebdafa3e34c71bb8bde8c62eae897a5e12ea8ea712c022

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