鹈鹕博客聚合器插件

pelican-planet的Python项目详细描述


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

这是Pelican静态站点生成器的插件。

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

使用量

安装此插件:

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

然后,在鹈鹕配置文件中,启用插件:

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

接下来,在鹈鹕配置文件中声明要聚合的提要:

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

为聚合页编写Jinja2模板。例如,如果 你的网站是从标记页生成的,然后创建 planet.md.tmpl包含以下内容的文件:

Some blogs aggregated here.

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

{% endfor %}

最后,在鹈鹕配置文件中声明模板和目标页:

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

然后像往常一样使用pelican命令行重建网站,然后 应该有你的博客聚合页面。

你可能会想定期重建你的网站,也许用 systemd计时器或cron作业,用于始终获取源中的最新文章 你加起来了。

模板设计

聚合页的模板将传递一个articles变量, 包含聚合的项目列表。

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

  • title:文章的标题;
  • updated:文章最后一次更新的日期,作为 时区感知datetimeobject;
  • author:文章的作者;
  • link:文章在其原始网站上的URL;
  • summary:文章的摘要文本;
  • feed_name:源于文章的提要的名称,如 在鹈鹕配置文件中定义;

可选配置

通过设置更多的选项,您可以对生成的页面拥有更多的控制权 在鹈鹕配置文件中:

    ^ TT11}$:页面上显示的最大文章数。

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

    {TT12}$:来自单次馈送的文章的最大值 以页结尾。

    默认情况下,将考虑给定提要的所有项目。

    ^ tt13}$:从 总结。

    默认情况下,文章的摘要将是来自 饲料。

合法性

鹈鹕星球是根据 GNU Affero General Public License, either version 3 or any later version

我们永远不会要求你签署版权转让或任何其他类型的 在接受你的稿件之前愚蠢而乏味的法律文件。

如果您想知道,我们不not认为 鹈鹕星球需要获得AGPL的许可。

发布历史记录

0.9.1

这是一个很小的版本,解决了一些与发行相关的问题:
  • 移到README/Changes文件的RestructureDText,因为这就是PYPI 首选项;
  • 修复了到agplv3+许可证的链接;
  • 添加了丢失的pypi分类器;
  • 将丢失的文件添加到dist tarball;

0.9

初始版本:

  • 将提要列表聚合到由模板生成的页中;
  • 可选择限制保存的物品总数以及 每个订阅源的文章数;
  • 显示完整的文章或简短的摘要;
  • 支持Python3.4及更高版本;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用MVC设计模式观察嵌套对象   java将多个客户端连接到服务器   合并Java Web应用程序   Spring Security中未捕获java AuthenticationSuccessEvent   java Firebase JSON到Arraylist内部的Arraylist,存在对象问题   在Java15的sealedclasses特性中,final类和非密封类之间有什么区别?   java我可以使用数组。copyOf制作二维数组的防御副本?   java球不会在屏幕上移动   Java类如何在同一个文件中包含两个类?   java使用“Character.isWhiteSpace”删除所有空白   java阻止在RealmList中保存时创建领域对象   如何仅在ConnectionFactory上使用Java JMS身份验证   spring可以强制java对象在运行时实现接口吗?   socket无法在JAVA中使用TCP启用双工模式通信