jalendport/craft-readtime

计算内容估计阅读时间。

资助包维护!
jalendport

安装: 47,647

依赖者: 0

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 9

开放性问题: 11

类型:craft-plugin

2.0.0-beta.1 2023-03-08 04:06 UTC

This package is auto-updated.

Last update: 2024-09-08 07:41:36 UTC


README

icon

Craft CMS 3 的阅读时间插件

计算内容估计阅读时间。

安装

要求

此插件需要 Craft CMS 4.0.0 或更高版本。

插件商店

登录到您的控制面板并点击“插件商店”。搜索“阅读时间”。

Composer

  1. 打开您的终端并转到您的 Craft 项目
cd /path/to/project
  1. 然后告诉 Composer 加载插件
composer require jalendport/craft-readtime
  1. 在控制面板中,转到设置 → 插件,并为“阅读时间”点击“安装”按钮。

配置

默认情况下,平均用户阅读速度设置为每分钟 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 提供