crell/planedo-bundle

Symfony 6 及以上版本使用的Feed聚合器包。

资助包维护!
Crell

安装: 69

依赖项: 0

建议者: 0

安全性: 0

星级: 1

关注者: 2

分支: 2

开放问题: 0

类型:symfony-bundle

1.0.0 2023-01-06 14:34 UTC

This package is auto-updated.

Last update: 2024-09-11 15:29:09 UTC


README

Latest Version on Packagist Software License Total Downloads

Planedo 是一个针对 Symfony 6 的博客聚合器包。它的目标是提供一个接近于 Planet-style 的博客聚合器配置,尽可能多地在包中完成。

"Planedo" 是 Esperanto 中的 "Planet",即博客聚合器 "planet"。

安装

设置 Planedo 包有三种方法。

如果您只想使用 Planedo 作为独立应用程序并完成它,请安装 Planedo 应用程序。

composer project-create crell/planedo

这将创建一个新项目,预先配置为与 Planedo 一起使用。几乎所有的功能都在包中,因此您可以根据需要修改应用程序本身。Planedo 本身的未来更新将通过更新包通过 Composer 进行。

或者,您可以直接通过 composer 在您选择的 Symfony 5.4/6 应用程序中安装 Planedo 包。

composer require crell/planedo-bundle

如果您采用这种方法,则需要几个手动步骤将包连接到应用程序。

添加开发依赖项

目前,Planedo 使用 PHP-FIG 的预发布版本 PSR-20。它尚未在 Packagist 上,因此您需要在主应用程序的 composer.json 中包含以下内容

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/php-fig/clock.git"
    }
  ]
}

这将允许 Composer 下载适当的包。一旦 PSR-20 发布,此步骤将不再需要。

启用包

将包添加到您的 bundles.php 文件

Crell\Bundle\Planedo\PlanedoBundle::class => ['all' => true],

路由

创建一个名为 config/routes/planedo.yaml 的新文件,并给它以下内容

# config/routes/planedo.yaml

planedo_admin:
    resource: '@PlanedoBundle/config/routes_admin.yaml'
    prefix: ''

planedo_public:
    resource: '@PlanedoBundle/config/routes_public.yaml'
    prefix: ''

上述设置假设您希望 Planedo 的路由位于您网站的根目录。如果不是这样,请根据您的喜好添加 prefix,无论是前端还是管理路由。

用户和密码管理

Planedo 提供了自己的用户帐户和密码处理。禁用机制即将推出。

您也可以选择忽略提供的用户系统并使用您自己的。在这种情况下,请确保应访问 Planedo 管理区域的所有用户都分配了 ROLE_ADMIN 角色。如何完成这一点取决于您。

配置

Planedo 在 config/planedo.yaml 中包含自己的最小配置。有三个配置选项,都是可选的。默认值应该适用于大多数情况。

  • items_per_page (默认 10):这个整数指定了在 HTML 列表中每页将显示多少个 feed 条目,在 RSS 和 Atom 中将显示总数。
  • purge_before (默认 -30 days):每次清理 cron 作业运行时,任何早于这个日期的条目将被删除。早于这个日期的条目也不会被导入。您可以使用任何根据 PHP 的 相对日期格式 有效的字符串。
  • use_plain_text (默认 false):如果设置为 true,RSS 和 Atom 聚合将使用 text/plain MIME 类型而不是适当的 XML MIME 类型。这主要用于调试,99% 的时间可以忽略。

例如

# config/planedo.yaml

planedo:
    items_per_page: 20
    purge_before: -60 days

初始设置

一旦 Planedo 设置好,您需要创建第一个管理员用户。为此提供了一个 CLI 命令。

bin/console planedo:create-user --email you@example.com

您将被提示输入密码,或者您也可以在命令行中提供。有关更多详细信息,请参阅命令的帮助文本。

现在您可以去 <planedo admin prefix>/admin 登录,然后开始添加源。

设置cron任务

无论您如何运行Planedo,您都需要通过所选的cron运行器设置两个cron任务。它们的运行频率由您决定,但至少建议每天运行一次。

第一个更新重新获取源以获取新条目

bin/console planedo:update-all

第二个更新删除旧条目(“旧”由purge_before配置设置定义)

bin/console planedo:purge-old

队列

Planedo通过Symfony的消息总线系统运行大多数任务。这允许将其延迟到队列中。虽然不是必需的,但强烈建议您将以下消息连接到异步后端

  • Crell\Bundle\Planedo\Message\ApproveEntries
  • Crell\Bundle\Planedo\Message\PurgeOldEntries
  • Crell\Bundle\Planedo\Message\RejectEntries
  • Crell\Bundle\Planedo\Message\UpdateFeed

主题

默认情况下,Planedo几乎没有主题。它可以工作,但外观并不美观。

您可以自由地重新设计任何模板,以满足您的需求。请参阅templates/目录以获取可以覆盖的完整集合。

贡献

请参阅贡献指南行为准则以获取详细信息。

安全性

如果您发现任何安全问题,请通过发送电子邮件到larry at garfieldtech dot com而不是使用问题跟踪器。

致谢

许可协议

AGPL版本3或更高。请参阅许可文件以获取更多信息。