MikeStecker/craft3-readability

此包已被弃用且不再维护。作者建议使用 mikestecker/craft-readability 包。

获取您的文本统计数据。

安装: 85

依赖: 0

建议: 0

安全: 0

星标: 10

关注者: 2

分支: 0

开放问题: 1

类型:craft-plugin

1.0.4 2018-04-04 16:33 UTC

This package is auto-updated.

Last update: 2022-02-01 13:10:54 UTC


README

Readability 插件可以帮助您识别网站内容中,尤其是可读性方面的问题。

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

  • Flesch Kincaid 朗读度
  • Flesch Kincaid 学级水平
  • Gunning 雾度评分
  • 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. 在控制面板中,转到设置 → 插件,然后点击 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 }}

戈林福指数

戈林福指数将其数学公式中的“复杂”词语(三个或更多音节的词语)作为可读性的考虑因素。它还排除了专有名词、术语和复合词。结果?1-无限年级水平的评分。

戈林福指数:{{ someContent | gunningFogScore }}

科尔曼-刘易斯指数

与大多数其他可读性测试不同,科尔曼-刘易斯指数依靠每个词的字符数而不是音节数来计算。它返回1-12的美国年级水平得分。

科尔曼-刘易斯指数:{{ someContent | colemanLiauIndex }}

SMOG指数

SMOG是否代表“简单词汇混乱度量”尚有争议,但1969年开发的这个指数仍然是常见的可读性度量。取30句话(每部分10句,分别来自文本的开始、中间和结尾),然后计算每组的句子中每个有3个或更多音节的词,然后计算这个数字的平方根,并将其四舍五入到最接近的10,然后加3。就是这样!你得到了能够阅读该文本的美国年级水平。(这是这些可读性公式中较简单的一种。)

SMOG指数:{{ someContent | smogIndex }}

自动可读性指数

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

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

戴尔-查尔可读性得分

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

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

斯帕奇可读性得分

该公式根据句子长度和生词数量计算文本样本的年级水平。斯帕奇公式将“生词”视为三年级及以下学生不认识的词语。斯帕奇公式最适合计算三年级及以下水平的文本难度。

斯帕奇可读性得分:{{ 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条目编辑器内部的评分小部件来预先评分内容?

欢迎提交拉取请求来添加新功能!

Mike Stecker提供