跳转到主要内容

Lektor插件,用于生成Atom订阅源。

项目描述

Lektor Atom插件

Linux tests Code Style: Black Join the chat at https://gitter.im/lektor/lektor

为基于Lektor的网站构建一个或多个Atom XML订阅源。

受Armin Ronacher为Lektor官方博客编写的atom-feed-support插件的启发。

安装

从命令行将lektor-atom添加到您的项目中

lektor plugins add lektor-atom

有关安装插件的更多说明,请参阅Lektor文档

配置

以下是一个基本配置

[feed]
name = My Site's Blog
source_path = /blog
url_path = /feed.xml

对于您想要发布的每个源,请向 configs/atom.ini 中添加一个部分。例如,一个包含所有最新帖子的博客源和一个关于咖啡的最新帖子的源。

[blog]
name = My Blog
source_path = /
url_path = /feed.xml
items = site.query('/').filter(F.type == 'post')
item_model = blog-post

[coffee]
name = My Blog: Articles About Coffee
source_path = /
url_path = /category/coffee/feed.xml
items = site.query('/blog').filter(F.categories.contains('coffee'))
item_model = blog-post

部分名称,如 blogcoffee,仅用作内部标识符。

选项

选项 默认值 描述
source_path / 在内容目录中找到项目父源的位置
name 配置部分名称 源名称
filename feed.xml 生成的 Atom 源文件名称
url_path source_path + filename 您网站上源件的 URL
blog_author_field 作者 源作者字段名称
blog_summary_field 摘要 源摘要字段名称
items source_path 的子项 查询表达式:例如 site.query('/').filter(F.type == 'post')
limit 50 包含多少个最新项
item_title_field 标题 项标题字段名称
item_body_field 正文 项内容正文字段名称
item_author_field 作者 项作者字段名称
item_date_field pub_date 项发布日期字段名称
item_model None 根据项的模型名称筛选 items

针对您的模型自定义插件

使用字段选项来告诉 lektor-atom 如何读取您的项。例如,如果您的网站模型是

[model]
name = Blog

[fields.writer]
type = string

[fields.short_description]
type = string

那么请将其添加到 atom.ini 中

[main]
blog_author_field = writer
blog_summary_field = short_description

查看 tests/demo-project/configs/atom.ini 以获取完整示例。

筛选项

默认情况下,lektor-atom 获取 source_path 中的源,并将所有子项包含在源中。如果您设置了 item_model,则 lektor-atom 仅包含具有该数据模型的子项。

items 设置为任何查询表达式以覆盖默认值。如果还指定了 items_model,则 lektor-atom 将它作为筛选器应用于 items

在模板中使用

您可以在模板中链接到特定的源。如果您的 atom.ini 包含如下所示的源

[main]
source_path = /blog

在模板中如下链接到源

{{ '/blog@atom/main'|url }}

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪一个,请了解有关 安装包 的更多信息。

源分布

lektor-atom-0.4.0.tar.gz (10.5 kB 查看散列值)

上传

构建分布

lektor_atom-0.4.0-py2.py3-none-any.whl (5.1 kB 查看散列值)

上传 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面