readabilityScore function

Map<Element, double> readabilityScore(
  1. Element root,
  2. [ReadabilityConfig? conf]
)

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;
}