Estatísticas de legibilidade
Mostra o quão difícil um texto é de ler: o índice de facilidade de leitura de Flesch (Flesch Reading Ease), o nível escolar de Flesch–Kincaid, um tempo de leitura estimado e as contagens de palavras, frases e sílabas por trás deles. Tudo é calculado no navegador; nenhum serviço ou chave é necessário.

Ative o recurso
O recurso é o plugin readabilitystats.js (também incluído em plugins/all_plugins.js). Ele fica ativo assim que é carregado. A caixa de diálogo é aberta pelo comando readability; não há botão na barra de ferramentas; então chame o comando a partir do seu próprio botão, ou deixe os usuários digitarem "/readability" no menu "/" quando o plugin de comandos de barra estiver carregado.
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css">
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/readabilitystats.js"></script>
<div id="editor"><p>The station opened in 1911 and served the valley for sixty years.</p></div>
<button type="button" onclick="editor.execCommand('readability')">Readability</button>
<script>
var editor = new RichTextEditor("#editor", {
readabilityWordsPerMinute: 200
});
</script>
Opções
| Opção | Padrão | O que faz |
|---|---|---|
readabilityStats | true | false desativa o plugin: nenhum comando e nenhum método. |
readabilityWordsPerMinute | 200 | Velocidade de leitura usada na estimativa do tempo de leitura. |
Por script
editor.getReadabilityStats() mede o documento atual; passe uma string para medi-la em vez do documento. Para o artigo da imagem, ele retornou:
{
words: 130, sentences: 10, syllables: 174, characters: 605,
avgWordsPerSentence: 13, avgSyllablesPerWord: 1.34,
fleschReadingEase: 80.4, fleschKincaidGrade: 5.3,
readingTimeMinutes: 0.7, readingTimeText: "39 sec",
easeLabel: "Easy (6th grade)"
}
Use-o para mostrar um índice ao lado do editor ou para avisar antes da publicação; nada no documento é alterado. editor.countSyllables(word) retorna a estimativa de sílabas de uma palavra.
Como os números são calculados
- As palavras são o texto dividido nos espaços. As frases são trechos que terminam em
.,!ou?; um texto sem nenhum desses sinais conta como uma frase. Os caracteres não incluem espaços. - Reading Ease = 206.835 − 1.015 × (palavras por frase) − 84.6 × (sílabas por palavra). Grade = 0.39 × (palavras por frase) + 11.8 × (sílabas por palavra) − 15.59, nunca abaixo de 0.
- O rótulo segue as faixas usuais de Flesch: 90 ou mais "Very easy (5th grade)", 80 "Easy (6th grade)", 70 "Fairly easy (7th grade)", 60 "Standard (8–9th grade)", 50 "Fairly difficult (10–12th grade)", 30 "Difficult (college)", abaixo de 30 "Very difficult (college graduate)".
O que você precisa saber
- As fórmulas e o contador de sílabas são para o inglês. O contador só olha as letras a–z; por isso, para outros idiomas, e para palavras com acentos, os índices pouco significam.
- As sílabas são estimadas a partir de grupos de vogais, então algumas palavras ficam com uma a mais ou a menos (ele conta "timetables" como 4).
- Um título ou item de lista sem ponto final é contado como parte da frase seguinte. O artigo da imagem tem um título e dez frases, e o resultado é 10.
- A caixa de diálogo arredonda o tempo para um décimo de minuto antes de converter em segundos; por isso, ele pode diferir de
readingTimeText: 42 sec na caixa de diálogo e "39 sec" no método, para o mesmo texto. - Os rótulos da caixa de diálogo vêm de chaves de idioma (
text_readabilitytitle,text_rd_ease,text_rd_gradee as outras chavestext_rd_*). Os valoreseaseLabelereadingTimeTextretornados pelo método estão sempre em inglês.
Relacionados: demonstração de contagem de palavras, demonstração de assistência à escrita, execCommand.