plainText function
The text nodes read as: what an image's alt text is made of.
Implementation
String plainText(List<MdNode> nodes) {
final out = StringBuffer();
void walk(List<MdNode> nodes) {
for (final node in nodes) {
switch (node) {
case MdText(:final text):
out.write(text);
case MdInlineCode(:final text):
out.write(text);
case MdInlineLatex(:final tex):
out.write(tex);
case MdImage(:final alt):
out.write(alt);
case MdLineBreak():
out.write('\n');
case MdSourceTag(:final id):
out.write('[$id]');
case MdBold(:final children) ||
MdItalic(:final children) ||
MdStrike(:final children) ||
MdUnderline(:final children) ||
MdSuperscript(:final children) ||
MdSubscript(:final children) ||
MdHighlight(:final children) ||
MdLink(:final children):
walk(children);
default:
break;
}
}
}
walk(nodes);
return out.toString();
}