向Lektor添加多态字段类型

lektor-polymorphic-type的Python项目详细描述


Lektor多态型

这个插件添加了一个新的多态lektor字段类型polymorphic。 字段值的实际类型实现的确定 推迟到评估时间。在

一个激励性的用例是支持拥有一个 格式可以在markdown和{}之间切换(或 其他格式化类型,如reStructuredText。)

安装

从命令行将lektor多态类型添加到项目:

lektor plugins add lektor-polymorphic-type

有关详细信息,请参见the Lektor plugin documentation。在

工作原理

如果字段有polymorphic_type选项集,则计算该值 结果被解释为 字段。在

如果没有为字段设置polymorphic_type选项,那么我们将查找 当前记录上的字段,其名称为当前字段的名称 附加“_type”。在

示例

简单示例

下面是一个简单页面的示例模型文件,具有可选的正文格式:

^{pr2}$

在这里,特定页面上的body_type字段的值将 确定body字段是否被解释为markdownhtml或{}。在

人为的例子

下面是一个人为的示例,演示polymorphic_type选项的用法:

# page.ini[model]name=Pagelabel={{ this.title }}[fields.title]label=Titletype=string[fields.body]label=Bodytype=polymorphicpolymorphic_type='html' if this.body.lstrip().startswith('<') else 'markdown'

在本例中,body字段将被解释为原始HTML,如果 该字段的内容以“<”开头,否则它将是 解释为Markdown文本。在

作者

杰夫·戴里基dairiki@dairiki.org

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?