Pelican插件,用于在主题模板中应用有用的Jinja过滤器
项目描述
Jinja Filters 是一个用于 Pelican 的插件,Pelican 是一个用Python编写的静态网站生成器。
Jinja Filters 为模板提供了一组函数(称为 过滤器),用于在构建您的网站时使用。它们为Pelican打包,但可能对其他使用 Jinja2 的项目很有用。
安装
安装 Jinja Filters 最简单的方法是通过使用Pip。这将自动安装所需的依赖项(目前为 pelican 和 titlecase)。
pip install pelican-jinja-filters
由于 Jinja Filters 是一个命名空间插件,假设您正在使用Pelican 4.5(或更高版本) 并且 仅 使用其他命名空间插件,Jinja Filters 将会自动由Pelican加载。就这样!
如果您正在使用 Pelican 的旧版本或非命名空间插件,您可能需要在您的 pelicanconf.py 中添加 Jinja 过滤器。
PLUGINS = [
# others...
"pelican.plugins.jinja_filters",
]
现在这些过滤器可以在您的模板中使用。
Jinja 过滤器 从 Pelican 版本 3 开始支持。
用法
目前,插件包括以下过滤器
datetime – 允许您更改 datetime 对象的显示格式。可以可选地提供一个 datetime 格式字符串 来获取自定义格式。
article_date – datetime 的一个专用版本,返回文章日期所需的 datetime;具体为 周五,2020年11月4日。
breaking_spaces – 将非换行空格(HTML 代码 )替换为普通空格。
titlecase – 将提供的字符串转换为标题格式。
datetime_from_period – 接受在周期存档页上提供的 period,并将其转换为适当的 datetime.datetime 对象(可能用于其他过滤器)
merge_date_url – 给定一个 datetime(在左侧)和一个提供的 URL,“应用”日期到它上。特别适用于 YEAR_ARCHIVE_URL、MONTH_ARCHIVE_URL 和 DAY_ARCHIVE_URL。
例如,在您的主题模板中,您可能有以下代码
<span class="published">
Article Published {{ article.date | article_date }}
</span>
给出
Article Published Friday, November 4, 2020
或者使用您自己的日期格式
<span class="published">
Article Published {{ article.date | datetime('%b %d, %Y') }}
</span>
给出
Article Published Nov 04, 2020
过滤器也可以链式使用,或按顺序应用。例如,为了删除非换行空格然后将类别名称转换为标题格式,您可能有以下代码
<a href="{{ SITEURL -}} / {{- article.category.url }}">
{{ article.category | breaking_spaces | titlecase }}
</a>
在月度存档页面上,您可能有以下代码来链接“向上”到年度存档页面
<a href="{{ SITEURL -}} /
{{- period | datetime_from_period | merge_date_url(YEAR_ARCHIVE_URL) }}">
{{ period | datetime_from_period | datetime('%Y') }}
</a>
这可能给出
<a href="https://blog.minchin.ca/posts/2017/>2017</a>
贡献
非常欢迎贡献!有关更多详细信息,请参阅 贡献指南。
设置开发环境
在 GitHub 上 Fork 项目,然后克隆您的 Fork。
设置并激活一个虚拟环境。
确保 invoke 在您的系统路径中或在虚拟环境中安装。
运行 invoke setup。
有关更多详细信息,请参阅 贡献指南。
许可
Jinja 过滤器 使用 MIT 许可证。有关完整的许可证文本,请参阅附带的 License.txt。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。