carlcs/craft-textstatistics

此软件包的最新版本(v1.0.1)没有可用的许可证信息。

Craft CMS 文本统计插件

安装: 30

依赖项: 0

建议者: 0

安全: 0

星级: 12

关注者: 2

分支: 0

开放问题: 0

类型:craft-plugin

v1.0.1 2016-05-26 06:27 UTC

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+