跳转到主要内容

使用Jinja2渲染内容字段。

项目描述

lektor-jinja-content

Build Status Code Coverage PyPI version PyPI - Python Version Code style: black

这是一个Lektor插件,允许您在类似字符串的内容字段中渲染Jinja2。例如,这意味着您可以在字符串或Markdown类型的内容字段中编写Jinja逻辑,访问Lektor的 模板上下文,并访问所有正常的Jinja过滤器,包括由 其他插件 提供的过滤器。在Markdown字段(或其他渲染字段,如 rst),首先处理Jinja,然后是格式化处理器。

您可以设置和使用Jinja变量,但它们仅在其渲染的字段中有意义。

使用此插件时,您必须确保渲染的内容 是有效的Jinja。Jinja语法错误将抛出异常。如果您想要内容不是有效的Jinja,别忘了使用方便的 {% raw %} {% endraw %} 标签。

注意。 使用此插件会导致使用 Jinja 渲染更多项目,因此您的构建过程会变慢。作为一个早期基准和轶事,即使我实际上没有需要渲染的 Jinja-Content,我的小型网站构建时间也从 4.89 秒增加到 5.39 秒。我计划稍后添加配置此插件的功能,这样您就不必将 所有 内容都通过 Jinja 运行。

示例

查询上下文:{{ site.get('/').title }}{{ this.path }}

逻辑

{% set meaning_of_life, meaning_of_universe = this.life, this.universe %}
{% if meaning_of_life == meaning_of_universe == 42 %}
  {% set meaning_of_it_all = meaning_of_life %}
{% else %}
  {% set meaning_of_it_all = 'Undefined' %}
{% endif %}
{{ meaning_of_it_all }}

Markdown 中的 Jinja

[link text]({{ this|url }})

reStructuredText 中的 Jinja

`link text <{{ this|url }}>`_

运行测试网站以获取更多示例。

此插件可能的未来。

此插件打开了一些非常强大且非常有趣的功能的大门。以下是一些思考点:

项目详细信息


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

lektor-jinja-content-0.4.4.tar.gz (5.3 kB 查看哈希值)

上传时间:

构建分布

lektor_jinja_content-0.4.4-py2.py3-none-any.whl (5.2 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持

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