in src/main/scala/managehelpcontentpublisher/HtmlToJson.scala [54:68]
def blankTextNodesRemoved(e: Element): Element = {
def go(acc: Set[TextNode])(curr: Node): Set[TextNode] =
curr match {
case t: TextNode if t.isBlank => acc + t
case _: TextNode => acc
case e: Element =>
e.childNodes.asScala.flatMap(go(acc)).toSet
}
val cleaned = e.clone()
val blankText = go(Set.empty)(cleaned)
blankText.foreach(_.remove())
cleaned
}