MikeStecker / craft-readability
获取文本统计信息。
Requires
- craftcms/cms: ^3.0.0
- davechild/textstatistics: ^1.0
README
可读性插件可以帮助您识别网站内容的问题,特别是与可读性相关的问题。
它允许您使用常见的评分系统来衡量文本的可读性,包括
- Flesch-Kincaid可读性评分
- Flesch-Kincaid年级水平
- Gunning Fog指数
- Coleman Liau指数
- SMOG指数
- 自动可读性指数
- Dale-Chall可读性评分
- Spache可读性评分
您可以在这里了解更多关于这些信息。
此插件基于Text Statistics库。
要求
此插件需要Craft 3.0.0或更高版本。
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的Craft项目
cd /path/to/project
-
然后告诉Composer加载插件
composer require mikestecker/craft-readability
-
在控制面板中,转到设置→插件,然后点击“安装”按钮以安装可读性。
可读性概述
这个插件源于我想在文本上获得简单阅读时间的需求。当我发现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》提供