pelican增加自定义jinja template filters
💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
本文讨论了如何在Pelican中自定义Jinja模板过滤器,以实现标签云的随机排序。通过修改Jinja源码,添加随机排序功能,并在Pelican配置文件中引入自定义过滤器,成功生成HTML文件。
🎯
关键要点
-
Pelican中自定义Jinja模板过滤器的方法未在官方文档中明确说明。
-
为了实现标签云的随机排序,决定直接修改Jinja源码,添加随机排序功能。
-
在Pelican社区找到了解决方案,通过设置JINJA_FILTERS来添加自定义过滤器。
-
创建了一个名为jinja_filters.py的模块,定义了shuffle函数用于随机打乱列表或元组。
-
在Pelican配置文件中引入自定义过滤器,并成功生成HTML文件。
❓
延伸问答
如何在Pelican中自定义Jinja模板过滤器?
可以通过创建一个名为jinja_filters.py的模块,定义自定义过滤器,并在Pelican配置文件中引入该模块来实现。
为什么要在Pelican中实现标签云的随机排序?
为了使标签云看起来更随机和有趣,而不是使用默认的简单排序。
在Pelican中如何添加随机排序功能?
可以通过修改Jinja源码,添加一个shuffle函数来实现随机排序功能。
JINJA_FILTERS在Pelican中有什么作用?
JINJA_FILTERS用于在Pelican中注册自定义的Jinja模板过滤器,使其在模板中可用。
如何在Pelican配置文件中引入自定义过滤器?
在配置文件中添加from jinja_filters import shuffle,并将shuffle函数添加到JINJA_FILTERS字典中。
修改Jinja源码是否有风险?
是的,直接修改源码可能会导致维护困难和不必要的心理负担,因此建议使用自定义过滤器的方式。
➡️