firebrandhq / silverstripe-hail
Silverstripe 4 插件,用于与 Hail (https://get.hail.to) 集成
Requires
- php: ^8.1
- composer-plugin-api: ^2.0
- guzzlehttp/guzzle: ^7
- silverstripe/cms: ^5.0
- silverstripe/environmentcheck: ^3.0
- silverstripe/framework: ^5.0
- symfony/console: ^6.1
Requires (Dev)
- composer/composer: ^2.0
Suggests
- firebrandhq/silverstripe-hail-elemental: Add Hail Carousel Element type to Elemental
- firebrandhq/silverstripe-hail-opengraph: Add OpenGraph tags to Hail Pages and Hail Articles
- 5.x-dev
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.1
- 4.2
- 4.1.16
- 4.1.15
- 4.1.14
- 4.1.13
- 4.1.12
- 4.1.11
- 4.1.10
- 4.1.9
- 4.1.8
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- dev-master / 4.0.x-dev
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 2.x-dev
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.x-dev
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.2
- 1.0.1
- 1.0.0
- dev-lphs
- dev-dev-multiorgs
- dev-dev
This package is auto-updated.
Last update: 2024-09-17 02:22:34 UTC
README
Hail.to 集成 SilverStripe 4
Silverstripe 4 模块,用于与 Hail (https://get.hail.to) 集成
如果您需要此模块用于 SilverStripe 3,请参阅 此分支。
❗ 如果您在获取时遇到错误,请更新到 4.2 版本
功能
- 在您的 SilverStripe 网站内显示 Hail 内容
- 与 Bootstrap 4.1 风格和模板兼容
- 文章和出版物视频和图片头部
- Hail 页面
- TinyMCE 插件
- 可配置
- 简化代码库
- 可选的 Emoji 支持
- SEO 友好
- OpenGraph 集成,见 OpenGraph 支持部分
- Silverstripe Elemental 集成,见 SilverStripe Elemental 支持部分
- 等等...
要求
- PHP ^7.1
- SilverStripe ^4.4
- guzzlehttp/guzzle ^6.3
- silverstripe/environmentcheck ^2.0
- symfony/console ^4.2
- 创建 cronjob 的权限(可选)
- jQuery 和 Bootstrap 4+(包含),见 jQuery 和 Bootstrap 要求
对于 SilverStripe 4.1 到 4.3 使用版本 4.2.1
从旧版本升级
此模块已为 SilverStripe 4 重新编写,与之前版本相比包含破坏性更改。如果您是从旧版本升级,请删除并重新安装模块以进行全新安装。
安装
运行以下命令
composer require firebrandhq/silverstripe-hail "^4"
(可选) 启用 Emoji 支持(必须在 dev/build 之前完成)
安装 Silverstripe Sake
cd your-webroot/
sudo ./vendor/bin/sake installsake
请确保 sake 使用 php ^7.1
执行 dev/build
将以下行(根据您的环境进行调整)添加到您的 crontab 中
您需要将这些作业添加到运行您的 web 服务的用户的 cronjob 中(例如,在 Ubuntu 上使用 apache2:sudo crontab -e -u www-data)
* * * * * cd /your-webroot/ && /usr/local/bin/sake dev/tasks/hail-fetch-queue */5 * * * * cd /your-webroot/ && /usr/local/bin/sake dev/tasks/hail-check-status 0 * * * * cd /your-webroot/ && /usr/local/bin/sake dev/tasks/hail-fetch-recurring
您可以根据需要调整 hail-fetch-recurring 作业的频率,它将始终获取到上一次获取为止
授权 Silverstripe 从 Hail 获取
-
转到 hail.to 并登录,然后转到您的开发者设置(https://hail.to/app/user/applications)并创建一个新应用(添加新按钮)
-
将生成的 Hail 客户端 ID 和客户端密钥添加到您的 .env 文件中
HAIL_CLIENT_ID=[CLIENTID] HAIL_CLIENT_SECRET=[CLIENTSECRET]
-
转到 SilverStripe 管理设置页面 (/admin/settings/),然后在 Hail 选项卡上
-
复制回叫 URL
-
回到 Hail 开发者设置,在重定向 URI 部分点击“添加新”,并粘贴回叫 URL
-
您现在可以授权您的 Hail 应用程序,回到 SilverStripe 管理设置并点击“授权 SilverStripe 访问 Hail”按钮。
-
授权过程完成后,您将能够在 SilverStripe 管理设置中选择您想要从中获取内容的 Hail 组织。
-
(可选) 您可以在 SilverStripe 管理设置中全局排除具有特定公共或私人标签的内容
-
保存您的管理设置
您现在可以等待您的cron作业获取内容,或者使用SilverStripe CMS中的Hail菜单中的获取按钮(页面左上角)强制进行完整获取。
jQuery和Bootstrap需求
默认情况下,我们在Hail页面和Hail文章中包含jQuery 3.3.1和Bootstrap 4.1(javascript和css)。
如果您需要包含您自己的jQuery和/或Bootstrap(如果您从源编译了Bootstrap或想全局包含这些),只需在您的PageController init()函数中添加以下之一或全部,以阻止我们的需求
protected function init() { parent::init(); // You can include any CSS or JS required by your project here. // See: https://docs.silverstripe.org/en/developer_guides/templates/requirements/ \SilverStripe\View\Requirements::block('firebrandhq/silverstripe-hail: thirdparty/bootstrap/styles/bootstrap.min.css'); \SilverStripe\View\Requirements::block('firebrandhq/silverstripe-hail: thirdparty/jquery/js/jquery.min.js'); \SilverStripe\View\Requirements::block('firebrandhq/silverstripe-hail: thirdparty/bootstrap/js/bootstrap.bundle.min.js'); }
配置
以下yml配置选项可用于覆盖
Hail API客户端配置
- BaseApiUrl:Hail API的基本URL
- AuthorizationUrl:Hail授权的完整URL
- RefreshRate:Hail对象被认为过时的时长
- EnableEmojiSupport:查看Emojis支持配置
- OnlyFetchPublishedObjects:默认情况下,Hail模块仅获取已发布的对象,您可以通过将此值设置为false来更改此行为
默认配置
Firebrand\Hail\Api\Client: BaseApiUrl: 'https://hail.to/api/v1/' AuthorizationUrl: 'https://hail.to/oauth/authorise' RefreshRate: 86400 EnableEmojiSupport: false OnlyFetchPublishedObjects: true
Hail页面控制器配置
- UseDefaultCss:true / false 启用Hail页面和文章的默认样式(使用Bootstrap 4.1)
默认配置
Firebrand\Hail\Pages\HailPageController: UseDefaultCss: true
Hail重复获取任务配置
- 电子邮件:获取错误将发送到以下电子邮件列表(逗号分隔),如果您想禁用电子邮件,请设置为false
默认配置
Firebrand\Hail\Tasks\FetchRecurringTask: Emails: ''
要覆盖这些值,您需要将一个新的yml文件添加到您的mysite/_config/文件夹中,指定您的配置需要在Hail之后包含。
示例yml配置文件
--- Name: 'myhailconfig' After: - '#hail-config' --- Firebrand\Hail\Api\Client: EnableEmojiSupport: true Firebrand\Hail\Tasks\FetchRecurringTask: Emails: 'developers@mycompany.com' ---
用法
一旦配置完成并且您的Hail内容被获取,您就可以在SilverStripe CMS中创建一个Hail页面来在您的网站上显示内容。Hail页面的配置应该是自解释的,请参阅下面的截图
Hail页面配置
一旦配置并发布,您的Hail页面应该看起来像这样(使用默认样式和模板)
Emojis支持
重要:启用Emojis支持将更改您的SilverStripe数据库的字符集和校对为分别的 utf8mb4 和 utf8mb4_general_ci。
utf8mb4与utf8向后兼容,因此它应该与任何现有或新数据库一起工作,我们仍然选择禁用此功能以避免强加此更改。
要启用Emojis支持,请在您的SilverStripe yml(以下面的示例为例)配置中添加以下内容,并执行dev/build。
示例yml配置文件
--- Name: 'myhailconfig' After: - '#hail-config' --- Firebrand\Hail\Api\Client: EnableEmojiSupport: true ---
OpenGraph支持
Open Graph支持现在已直接包含在此模块中,前提是您使用Tractorcow的OG模块
如果您想修改我们的OG实现以用于Hail页面/文章,您可以使用SilverStripe注入来实现。
SilverStripe Elemental支持
我们提供预构建的SilverStripe Elemental块(Hail轮播)供您使用
贡献
版本控制
此库遵循Semver。根据Semver,您将能够升级到此库的任何次要或补丁版本,而无需对公共API进行任何破坏性更改。Semver还要求我们明确定义此库的公共API。
所有具有public
可见性的方法都是公共API的一部分。所有其他方法不是公共API的一部分。尽可能的情况下,我们会尝试在小的/修补版本中保持protected
方法的向后兼容性,但如果您正在重写方法,请在升级前测试您的工作。
问题报告
请为任何您发现的错误或缺少的功能创建一个问题。