createNode method
Create the node represented by a Markdown link.
Implementation
@override
Element createNode(
String destination,
String? title, {
required List<Node> Function() getChildren,
}) {
final element = Element.empty('img');
final children = getChildren();
element.attributes['src'] = destination;
element.attributes['alt'] = children.map((node) {
// See https://spec.commonmark.org/0.30/#image-description.
// An image description may contain links. Fetch text from the alt
// attribute if this nested link is an image.
if (node is Element && node.tag == 'img') {
return node.attributes['alt'];
}
return node.textContent;
}).join();
if (title != null && title.isNotEmpty) {
element.attributes['title'] = normalizeLinkTitle(title);
}
return element;
}