跳转到主要内容

Pelican博客聚合插件

项目描述

博客聚合,静态网站风格!

这是一个用于Pelican静态网站生成器的插件。

它允许生成聚合来自其他网站的博客文章的页面。

用法

安装此插件

$ pip install git+https://framagit.org/bochecha/pelican-planet#egg=pelican_planet

然后,在您的Pelican配置文件中启用该插件

PLUGINS = [
    ...
    'pelican_planet',
    ...
    ]

接下来,在您的Pelican配置文件中声明您想要聚合的源

PLANET_FEEDS = {
    'Some amazing blog': 'https://example1.org/feeds/blog.atom.xml',
    'Another great blog': 'http://example2.org/feeds/blog.atom.xml',
    }

为您的聚合页面编写一个Jinja2模板。例如,如果您的网站其余部分由Markdown页面生成,则创建一个包含以下内容的planet.md.tmpl文件

Some blogs aggregated here.

{% for article in articles %}
# {{ article.title }}

{% endfor %}

最后,在您的Pelican配置文件中声明模板和目标页面

PLANET_TEMPLATE = 'planet.md.tmpl'
PLANET_PAGE = 'content/planet.md'

然后,使用pelican命令行按常规重建您的网站,您应该拥有您的博客聚合页面。

尽管如此,您可能还需要定期重建您的网站,例如使用systemd定时器或cron作业,以确保始终获取您聚合的源中的最新文章。

模板设计

您的聚合页面模板将传递一个articles变量,其中包含聚合的文章列表。

此列表中的每个项都将具有以下属性

  • title:文章的标题;

  • 更新时间:文章最后更新的日期,作为一个时区感知的 datetime 对象;

  • 作者:文章的作者;

  • 链接:文章在其原始网站上的 URL;

  • 摘要:文章的摘要文本;

  • feed名称:文章来源的 feed 名称,如 Pelican 配置文件中定义;

可选配置

您可以通过在 Pelican 配置文件中设置更多选项来对生成的页面有更多控制;

  • PLANET_MAX_ARTICLES:页面上显示的文章的最大数量;

    默认情况下,所有 feed 的所有文章都将添加到页面中;

  • PLANET_MAX_ARTICLES_PER_FEED:页面上单个 feed 结束时文章的最大数量;

    默认情况下,将考虑给定 feed 的所有文章;

  • PLANET_MAX_SUMMARY_LENGTH:保留摘要中的最大单词数;

    默认情况下,摘要 将是来自 feed 的完整文本;

法律条款

pelican-planet 在 GNU Affero General Public License 的条款下提供,版本 3 或任何后续版本;

我们永远不会要求您在接受您的贡献之前签署版权转让或其他任何愚蠢和繁琐的法律文件;

如果您在想,我们不认为使用 pelican-planet 构建的一个网站需要在 AGPL 下获得许可;

发布历史

0.9.1

这是一个简单的发布,修复了一些发布相关的问题;

  • 将 README/CHANGES 文件移至 reStructuredText,因为这是 Pypi 偏好的;

  • 修复了 AGPLv3+ 许可证的链接;

  • 添加了一个缺失的 Pypi 分类器;

  • 向分发 tarball 添加了缺失的文件;

0.9

初始发布;

  • 将一系列 feed 聚合成由模板生成的页面;

  • 可选地限制保留的总文章数以及每个 feed 的文章数;

  • 显示完整文章或仅显示简短摘要;

  • 支持 Python 3.4 及以上版本;

项目详细信息


下载文件

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

源分发

pelican-planet-0.9.1.tar.gz (20.5 kB 查看哈希)

上传时间

由以下组织支持

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