MikeStecker/craft-readability

获取文本统计信息。

资助包维护!
verbb

安装: 18,609

依赖项: 1

建议者: 0

安全性: 0

星标: 11

关注者: 4

分支: 0

开放性问题: 1

类型:craft-plugin

1.0.4 2018-04-04 16:33 UTC

This package is auto-updated.

Last update: 2024-09-21 20:48:52 UTC


README

可读性插件可以帮助您识别网站内容的问题,特别是与可读性相关的问题。

它允许您使用常见的评分系统来衡量文本的可读性,包括

  • Flesch-Kincaid可读性评分
  • Flesch-Kincaid年级水平
  • Gunning Fog指数
  • Coleman Liau指数
  • SMOG指数
  • 自动可读性指数
  • Dale-Chall可读性评分
  • Spache可读性评分

您可以在这里了解更多关于这些信息。

此插件基于Text Statistics库。

Screenshot

要求

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

安装

要安装插件,请按照以下说明操作。

  1. 打开您的终端并转到您的Craft项目

     cd /path/to/project
    
  2. 然后告诉Composer加载插件

     composer require mikestecker/craft-readability
    
  3. 在控制面板中,转到设置→插件,然后点击“安装”按钮以安装可读性。

可读性概述

这个插件源于我想在文本上获得简单阅读时间的需求。当我发现Text Statistics库时,我决定在这里封装大部分内容。

配置可读性

没有要配置的内容。

使用可读性

测量可读性

Flesch-Kincaid可读性评分

这是最古老的阅读性评分之一,常用于学术和政府,并集成到大多数文字处理软件中。Flesch-Kincaid阅读性评分是包含100个单词块文本中每词平均音节数和每句平均词数的数学公式的结果。结果以1-100的刻度衡量。

Flesch-Kincaid阅读性评分:{{ someContent | readingEase }}

Flesch-Kincaid年级水平

与Flesch-Kincaid阅读性评分类似,这是一个测量音节和句子长度的数学公式。然而,结果以0-12的学术年级表示。负结果被评为0,任何超过12的年级水平都被列为12。Flesch-Kincaid年级水平评分是在阅读性评分之后开发的,以便于家长、图书管理员和其他人做出关于为儿童阅读内容的决定。

Flesch-Kincaid年级水平:{{ someContent | schoolLevel }}

Gunning Fog指数

Gunning Fog指数在可读性的数学公式中将“复杂”单词(三个或更多音节的单词)作为一部分。它还排除了专有名词、术语和复合词。结果是一个1-无限级别的年级水平评分。

Gunning Fog指数:{{ someContent | gunningFogScore }}

Coleman Liau指数

与大多数其他阅读性测试不同,Coleman Liau指数依赖于字符数而不是每词音节数来计算。它返回1-12的美国年级水平评分。

Coleman Liau指数:{{ someContent | colemanLiauIndex }}

SMOG指数

SMOG指数是否代表“简单语无伦次测量法”尚有争议,但这个1969年开发的指数仍然是衡量可读性的一个常用标准。取你文本的30句话(开头、中间和结尾各10句),然后计算每组句子中每个词的音节数,计算这个数字的平方根并四舍五入到最接近的10,然后加3。就是这样!你就得到了能够阅读该文本的美国年级水平。(这只是一系列可读性公式中较简单的一个。)

SMOG指数:{{ someContent | smogIndex }}

自动可读性指数

自动可读性指数(ARI)的数学公式有两个变量:每个词的字符数(而不是音节,类似于科尔曼利亚乌指数)和每个句子的词数。它自1967年以来一直存在。其分数对应于美国年级水平。如果你得到一个带小数的分数,将其四舍五入到下一个整数。

自动可读性指数:{{ someContent | automatedReadabilityIndex }}

Dale-Chall可读性评分

戴尔-查尔公式是一种基于词汇的可读性公式,将与其列表中的词相匹配的词与被评估材料中的词相匹配,以确定适当的年级水平。此外,戴尔-查尔公式考虑了总词数和句数,得出平均句长。

戴尔-查尔可读性分数:{{ someContent | daleChallReadabilityScore }}

Spache可读性评分

该公式根据句长和生词数来计算文本样本的年级水平。Spache公式将“生词”视为3年级以下学生不认识的词。Spache公式最适合用于计算3年级水平或以下文本的难度。

Spache可读性分数:{{ someContent | spacheReadabilityScore }}

测量阅读所需时间

测量阅读所需时间基于Flesch-Kincaid阅读流畅度。根据这篇维基百科文章,阅读速度包括记忆阅读(每分钟少于100个单词[wpm]);学习阅读(100-200 wpm);理解阅读(200-400 wpm);以及浏览(400-700 wpm)。理解阅读是大多数人日常阅读的本质。浏览是对大量文本进行低水平理解(低于50%)的表面处理。

使用humanReadingTime过滤器估算的每分钟单词数利用Flesch-Kincaid阅读流畅度得分,并根据此得分确定内容阅读的难易程度。如果认为阅读难度较大,则计算出的WPM会降低,同样,如果内容易于阅读,则WPM会增加。

阅读需要多长时间?{{ someContent | humanReadingTime }}

输出:1分钟,26秒

如果你只想看到秒数,请使用过滤器readingTime

如果你只想得到简单的平均阅读时间,我创建了一个新函数,该函数基于每分钟平均250个单词进行简单计算。

阅读需要多长时间?{{ someContent | humanAverageReadingTime }}

输出:2分钟,17秒

如果你只想看到秒数,请使用过滤器averageReadingTime

更多文本技巧!

计数音节

{{ someContent | syllableCount }}

字符、字母、句子、词数

{{ someContent | characterCount }}

{{ someContent | letterCount }}

{{ someContent | wordCount }}

{{ someContent | sentenceCount }}

技巧加分!

感谢Andrew Welch(《@nystudio107》)指出,在使用这些twig过滤器中的任何一个时,您都可以将多个输出字段包裹在Twig的特别filter部分

{% filter humanAverageReadingTime %}
	{{ entry.intro }}
	{{ entry.body }}
	{% for block in entry.matrixField.all() %}
		{{ block.myfield }}
		{{ block.myfieldTwo }}
		...
	{% endfor %}
	...
{% endfilter %}

可读性路线图

一些待办事项以及潜在功能的想法

  • 发布它
  • 清理代码
  • 从他人那里获取反馈,并做出必要的更改/改进
  • 使一些功能更容易访问,可能添加某种变量来包裹整个条目?
  • 可能添加一个在Craft条目编辑器内的插件,提前对你的内容进行评分?

欢迎pull请求来添加新功能!

由《Mike Stecker》提供