readabilityScore function
Rules for readability scoring based on github.com/mozilla/readablility:
- Only check for certain tags (conf.readableTags)
- Large score (+-25) based on class (conf.positiveClasses/negativeClasses) /* - Some points based on the tag */
- 0 point if the paragraph has less than 25 characters
- +1 point as base
- +1 point for every comma in this paragraph
- +1 point for every 100 characters, up to 3 points
- *(1 - link_density) after these steps
- +Sum of every direct child's score
- +Sum/2 of every second child's score
- +Sum/(3*level) of every child's score at level deep
Implementation
Map<html.Element, double> readabilityScore(html.Element root,
[ReadabilityConfig? conf]) {
final scoreMap =
_calcReadabilityScore(root, conf ??= defaultReadabilityConfig);
_propagateScore(root, scoreMap);
return scoreMap;
}