2

我正在尝试开发一个 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 类,而不是我的 RST 类。

4

1 回答 1

5

这是 Lektor 问题跟踪器中出现的一个问题:https ://github.com/lektor/lektor/issues/77

答案是 Lektor 不对字段类型使用 Jinja 过滤器。相反,必须实现像这里这样的类型:https ://www.getlektor.com/docs/api/db/type/

然而,这需要目前正在开发的 Lektor 2.0。

于 2016-01-06T10:51:41.147 回答