carlcs / craft-textstatistics
此软件包的最新版本(v1.0.1)没有可用的许可证信息。
Craft CMS 文本统计插件
v1.0.1
2016-05-26 06:27 UTC
Requires
- php: >=5.4.0
- composer/installers: ~1.0
- davechild/textstatistics: 1.0.1
This package is auto-updated.
Last update: 2024-09-20 04:26:56 UTC
README
此Craft插件提供了Twig函数来显示有关您文本的信息。它允许您测量您内容的可读性,计算平均阅读时间或访问其他文本统计数据,如句子数。
安装
该插件可在Packagist上找到,并可以使用Composer进行安装。您还可以下载最新版本并将文件复制到craft/plugins/textstatistics/。
$ composer require carlcs/craft-textstatistics
设置
可以使用craft/config/textstatistics.php配置文件来配置该插件,以设置用于渲染阅读时间字符串的默认模板,以及设置默认的每分钟单词数。
TextStatisticsModel
当您使用getTextStatistics函数生成文本统计数据时,插件返回一个具有以下属性填充的TextStatisticsModel。大部分数据都是使用Dave Child的出色Text Statistics库计算的。有关提供的可读性分数信息,请查看以下维基百科文章
属性
textLength
letterCount
syllableCount
wordCount
sentenceCount
readingTime
readingTimeMinutes
readingTimeString
gunningFog
fleschKincaid
模板示例
单个文章
{% do addToTextStatistics(entry.text) %} {% set statistics = getTextStatistics() %} {{ statistics.readingTimeString }} {# outputs "21 minutes" #}
根据文本语言调整WPM
{% set wpm = { 'en': 200, 'fr': 180, } %} {% set statistics = getTextStatistics(null, wpm[craft.locale]) %} {{ statistics.readingTimeString }} {# outputs "moins de 5 minutes" #}
与矩阵字段的用法
{% for block in entry.article %} {% if block.type == 'text' %} {% do addToTextStatistics(block.text) %} {{ block.text }} {% endif %} {% if block.type == 'image' %} {% set image = block.image.first() %} {% if image %} {% do addToReadingTime(10) %} <img src="{{ image.getUrl() }}" alt="{{ image.title }}"> {% endif %} {% endif %} {% endfor %} {% set statistics = getTextStatistics() %}
Twig函数
addToTextStatistics( text, articleId )
将文本添加到数据存储中,以便您可以从它执行文本统计数据计算。
text
(必需)- 要添加到数据存储以进行文本统计的文本。它可以包含HTML标签,插件在计算之前会删除它们。articleId
(默认''
)- 识别文章的ID。如果同一页面上有多个文章进行文本统计,则需要此ID。
{% do addToTextStatistics(entry.myRichTextField) %}
您还可以使用Twig过滤器。
{{ entry.myRichTextField|addToTextStatistics }}
addToReadingTime( seconds, articleId )
将时间添加到数据存储中,以进一步影响文本统计数据返回的阅读时间。
seconds
(必需)- 要添加到数据存储以进行文本统计的时间(以秒为单位)。articleId
(默认''
)- 识别文章的ID。如果同一页面上有多个文章进行文本统计,则需要此ID。
{% do addToReadingTime(15) %}
getTextStatistics( articleId, wpm, readingTimeTemplate )
对文章执行文本统计数据计算,并将结果作为TextStatisticsModel返回。
articleId
(默认''
)- 识别文章的ID。如果同一页面上有多个文章进行文本统计,则需要此ID。wpm
(默认200
)- 用于阅读时间计算的阅读速度,以每分钟单词为单位。readingTimeTemplate
(默认)- 用于渲染阅读时间字符串的Twig模板代码。
{% set statistics = getTextStatistics() %} {{ statistics.gunningFog }} {# outputs "12.1" #}
需求
- PHP 5.4+