跳转到主要内容

一个用于调试帮助的Lektor插件

项目描述

Lektor Debug

Lektor示例项目的 /type 页面上运行示例

example.gif

此插件提供了一个 {% debug %} 模板标签,该标签将在模板中渲染有用的调试信息。要使用,只需在模板中添加此标签,并在开发模式下运行带有 LEKTOR_DEV=1 lektor server 的 lektor server。

此插件替换了 Lektor 的内置、可选的 {% debug %} 标签,该标签来自 Jinja2 的 Debug 扩展。该标签完全被此插件取代,所以我们只是替换它。

此插件的标签也可以保留而不会产生不良影响。除非设置了环境变量 LEKTOR_DEV=1,否则 {% debug %} 将是一个无操作,并返回一个空字符串,与 Lektor 的当前行为不同,由于 Jinja2 的 Debug 扩展不会被添加,会引发一个 TemplateSyntaxError

{% debug %} 内容

此标签会自动渲染为折叠的 <detail> html 元素,因此除非您需要它,否则它的影响最小。展开后,它将显示一个具有以下键的 Python 风格的字典:

  • this 上所有可用的字段
  • 完整的 dir(this),显示其本地属性和方法(与上面不同)
  • 所有流程块及其字段
  • 所有当前模板上下文,正好像 Jinja2 的 Debug 扩展一样
  • 所有可用的模板过滤器,正好像 Jinja2 的 Debug 扩展一样
  • 所有可用的模板测试,正好像 Jinja2 的 Debug 扩展一样

顶级键旨在快速告知您该数据块的含义,但并不一定对应于真实Python字典中的可用键。例如,this.fields在任何Lektor Python字典中都不是一个键,但希望这足以说明其代表的含义。

Flowblocks以this.<flowblock name>.blocks的形式列出,这是在模板中访问它们的方式。每个流字段将展示一个包含所有块字段及其值的字典列表。

此调试信息以代码块的形式呈现,通过Lektor的Markdown处理器处理。由于这种情况,如果您已安装并配置了Lektor Markdown Highlighter,它也将使用Python的语法高亮。

额外模板上下文

此插件还全局添加以下模板变量

  • {{ dir }} Python的dir内置函数
  • {{ str }} Python的str内置函数
  • {{ type }} Python的type内置函数

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

lektor-debug-0.1.5.tar.gz (4.3 kB 查看散列)

上传时间

构建分发

lektor_debug-0.1.5-py3-none-any.whl (4.7 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面