1.0.1 • Published 8 months ago
@lunarisapp/readability v1.0.1
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';