跳转到主要内容

根据自定义规则从源中过滤元素

项目描述

源过滤

Build Status PyPI Version

源过滤是一个Pelican插件,用于从源中过滤元素。

安装

此插件可以通过以下方式安装

python -m pip install pelican-feed-filter

使用方法

此插件通过设置以下变量通过您的Pelican配置文件进行配置

FEED_FILTER = {}

定义源路径并包含/排除过滤器以应用于匹配的源。源路径和过滤器均使用Unix shell样式通配符进行匹配。

过滤器定义如下

  • include.item 属性
  • exclude.item_attribute

其中 item_attribute 可以是任何 Feed项目属性,例如:titlelinkauthor_namecategories、...

您还可以匹配 pubdateupdateddate 项目属性,格式如下:%a, %d %b %Y %H:%M:%S(例如:“Thu, 28 Jun 2001 14:17:15”)

过滤优先级

如果定义了包含过滤器,则只有与过滤器匹配的Feed元素才会包含在Feed中。

如果定义了排除过滤器,则除了与过滤器匹配的元素外,所有Feed元素都会包含在Feed中。

如果同时定义了包含和排除过滤器,则除了与某些排除过滤器匹配但未与包含过滤器匹配的元素外,所有Feed元素都会包含在Feed中。

如果为同一Feed路径定义了多个包含/排除过滤器,则单个匹配就足以将项目包含在Feed中。

使用示例

  • 仅将某些类别中的帖子包含到全局Feed中
FEED_ATOM = 'feed/atom'
FEED_RSS = 'feed/rss'
FEED_FILTER = {
    'feed/*': {
        'include.categories': ['software-*', 'programming']
    }
}
  • 从一个类别Feed中排除一个作者
CATEGORY_FEED_ATOM = 'feed/{slug}.atom'
CATEGORY_FEED_RSS = 'feed/{slug}.rss'
FEED_FILTER = {
    'feed/a-category-slug.*': {
        'exclude.author_name': 'An Author name'
    }
}
  • 从所有类别Feed中排除一个作者
CATEGORY_FEED_ATOM = 'feed/{slug}.atom'
CATEGORY_FEED_RSS = 'feed/{slug}.rss'
FEED_FILTER = {
    'feed/*.*': {
        'exclude.author_name': 'An Author name'
    }
}
  • 在全局Feed中,排除所有属于某个类别的帖子,除非是由指定作者撰写的
FEED_ATOM = 'feed/atom'
FEED_RSS = 'feed/rss'
FEED_FILTER = {
    'feed/*': {
        'include.author_name': 'An Author name',
        'exclude.category': 'software-development'
    }
}
  • 在全局Feed中,排除所有标题以“Review”开头的帖子
FEED_ATOM = 'feed/atom'
FEED_RSS = 'feed/rss'
FEED_FILTER = {
    'feed/*': {
        'exclude.title': 'Review*'
    }
}
  • 在全局Feed中,包含由指定作者撰写的或属于某个类别的所有帖子,除非标题以“Review”开头
FEED_ATOM = 'feed/atom'
FEED_RSS = 'feed/rss'
FEED_FILTER = {
    'feed/*': {
        'include.author_name': 'An Author name',
        'include.category': 'software-development'
        'exclude.title': 'Review*'
    }
}

贡献

欢迎并非常感谢贡献。每一份努力都有帮助。您可以通过改进文档、添加缺失的功能和修复错误来贡献。您还可以通过审查和评论 现有问题 来提供帮助。

要开始为此插件做出贡献,请审查 向Pelican做出贡献 的文档,从 贡献代码 部分 开始。

项目详情


下载文件

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

源分布

pelican_feed_filter-1.1.0.tar.gz (17.7 kB 查看哈希值)

上传时间

构建分布

pelican_feed_filter-1.1.0-py3-none-any.whl (17.7 kB 查看哈希值)

上传时间 Python 3

支持者

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