@lunarisapp/readability
v1.0.2
Published
A library for calculating readability scores of texts
Downloads
129
Maintainers
Readme
Lunaris Readability
A library for calculating text readability scores based on popular algorithms & formulas, inspired by textstat.
[!TIP] See also:
- @lunarisapp/language for core linguistic breakdown: vowels, consonants, words, and sentences.
- @lunarisapp/stats for text statistics (e.g. word count, sentence count, etc.).
- @lunarisapp/hyphen for word hyphenation.
Features
- Browser & Node.js support
- Multi-language support
- Pure formulas for direct usage
- Caching for faster performance
- TypeScript support
Installation
npm install @lunarisapp/readabilityUsage
import { TextReadability } from '@lunarisapp/readability';
const textReadability = new TextReadability({
lang: 'en_US', // optional, en_US by default
cache: true, // optional, true by default
});
textReadability.fleschReadingEase('Hello, world!');The package also exports pure formulas, if you want to use them directly:
import { fleschReadingEase } from '@lunarisapp/readability';
fleschReadingEase({
wordCount: 2,
sentenceCount: 1,
syllableCount: 6,
});Algorithms
| Function | Description |
|------------------------------------|-----------------------------------------------------------------------------|
| fleschReadingEase(text) | Calculates the Flesch Reading Ease score for the provided text. |
| fleschKincaidGrade(text) | Calculates the Flesch-Kincaid Grade Level for the provided text. |
| smogIndex(text) | Calculates the SMOG Index for the provided text. |
| automatedReadabilityIndex(text) | Calculates the Automated Readability Index (ARI) for the provided text. |
| colemanLiauIndex(text) | Calculates the Coleman-Liau Index for the provided text. |
| linsearWriteFormula(text) | Calculates the Linsear Write Formula readability score for the provided text.|
| crawford(text) | Calculates the Crawford Readability Score for the provided text. |
| gulpeaseIndex(text) | Calculates the Gulpease Index for the provided text. |
| gutierrezPolini(text) | Calculates the Gutierrez-Polini Index for the provided text. |
| wienerSachtextformel(text) | Calculates the Wiener Sachtextformel readability score for the provided text.|
| mcalpineEflaw(text) | Calculates the McAlpine English Fluency Assessment (EFLAW) score for the provided text. |
| lix(text) | Calculates the LIX ratio for the provided text. |
| rix(text) | Calculates the RIX ratio for the provided text. |
Other
import { type Language } from '@lunarisapp/readability';