副教授插件开发
Plugin Development for Lektor
我正在尝试开发一个 reStructuredText 插件并犯了一些基本错误。
我的插件对象如下所示:
class RSTPlugin(Plugin):
name = 'RST'
description = 'RST plugin'
def on_setup_env(self, **extra):
self.env.jinja_env.filters['markdown'] = \
jinja2.contextfilter(lambda ctx, *a, **kw: RST(*a, **kw))
现在:on_setup_env
函数被调用。请注意,我正在替换 markdown dict 条目(现在)。但是当我 运行 lektor 调用原始 Markdown class 而不是我的 RST 时。
这是 Lektor 问题跟踪器中出现的一个问题:https://github.com/lektor/lektor/issues/77
答案是 Lektor 不对字段类型使用 Jinja 过滤器。相反,必须实现如下所示的类型:https://www.getlektor.com/docs/api/db/type/
但这需要 Lektor 2.0,目前正在开发中。
我正在尝试开发一个 reStructuredText 插件并犯了一些基本错误。
我的插件对象如下所示:
class RSTPlugin(Plugin):
name = 'RST'
description = 'RST plugin'
def on_setup_env(self, **extra):
self.env.jinja_env.filters['markdown'] = \
jinja2.contextfilter(lambda ctx, *a, **kw: RST(*a, **kw))
现在:on_setup_env
函数被调用。请注意,我正在替换 markdown dict 条目(现在)。但是当我 运行 lektor 调用原始 Markdown class 而不是我的 RST 时。
这是 Lektor 问题跟踪器中出现的一个问题:https://github.com/lektor/lektor/issues/77
答案是 Lektor 不对字段类型使用 Jinja 过滤器。相反,必须实现如下所示的类型:https://www.getlektor.com/docs/api/db/type/
但这需要 Lektor 2.0,目前正在开发中。