jalendport / craft-readtime
计算内容估计阅读时间。
2.0.0-beta.1
2023-03-08 04:06 UTC
Requires
- craftcms/cms: ^4.0.0
This package is auto-updated.
Last update: 2024-09-08 07:41:36 UTC
README
Craft CMS 3 的阅读时间插件
计算内容估计阅读时间。
安装
要求
此插件需要 Craft CMS 4.0.0 或更高版本。
插件商店
登录到您的控制面板并点击“插件商店”。搜索“阅读时间”。
Composer
- 打开您的终端并转到您的 Craft 项目
cd /path/to/project
- 然后告诉 Composer 加载插件
composer require jalendport/craft-readtime
- 在控制面板中,转到设置 → 插件,并为“阅读时间”点击“安装”按钮。
配置
默认情况下,平均用户阅读速度设置为每分钟 200 个单词,这可以在插件设置中更改。
使用过滤器
|readTime
过滤器返回一个 TimeModel,表示平均用户阅读提供的内容所需的时间。提供的值可以是字符串或值数组。
默认包含秒数,但可以通过使用 |readTime(false)
禁用 - 这仅影响人类时间格式。
示例
{{ string|readTime }} Returns: 30 seconds
{{ richTextField|readTime }} Returns: 2 minutes, 40 seconds
{{ richTextField|readTime(false) }} Returns: 3 minutes
使用函数
readTime()
函数返回一个基于其字段布局的矩阵字段或整个条目的 TimeModel。
默认包含秒数,但可以通过添加第二个参数 false
禁用 - 这仅影响人类时间格式。
示例
{{ readTime(entry) }} or {{ readTime(entry.matrixField.all()) }}
{{ readTime(entry, false) }} or {{ readTime(entry.matrixField.all(), false) }}
TimeModel
每当您在模板中处理阅读时间时,您实际上是在处理一个 TimeModel 对象。
简单输出
在不附加属性或方法的情况下输出 TimeModel 对象将返回人类时间持续形式的时间。
{{ string|readTime }}
{{ readTime(entry) }}
{{ readTime(entry.matrixField.all()) }}
属性
human
人类时间持续。
interval(format)
一个 DateInterval
对象。您需要设置 格式 作为参数
{% set time = readTime(entry) %} {{ time.interval('%h hours, %i minutes, %s seconds') }}
seconds
总秒数。
minutes
总分钟数。
hours
总小时数。
覆盖插件设置
如果您在 config
文件夹中创建一个名为 read-time.php
的 配置文件,则可以覆盖控制面板中的插件设置。由于该配置文件完全 多环境 识别,这是在不同的环境中具有不同设置的好方法。
以下是一个配置文件示例,以及您可以覆盖的所有可能值的列表。
<?php return [ 'wordsPerMinute' => 200 ];
路线图
要完成的事情以及潜在功能的想法
由 Luke Youell 提供