getNotusFromHtml static method
NotusDocument
getNotusFromHtml(
- dynamic text
Implementation
static NotusDocument getNotusFromHtml(var text) {
final document = NotusDocument();
var data = parse(text.toString().replaceAll('\n', '')).body;
if (data == null) {
return document;
}
if (data.nodes.isEmpty) return document;
document.replace(0, document.length, '');
for (int i = 0; i < data.nodes.length; i++) {
if (data.nodes[i].toString().contains('<html h1>')) {
LineNode line = LineNode();
line.add(LeafNode(data.nodes[i].text!.replaceAll('\n', '')));
line.applyAttribute(NotusAttribute.h1);
document.root.add(line);
} else if (data.nodes[i].toString().contains('<html h2>')) {
LineNode line = LineNode();
line.add(LeafNode(data.nodes[i].text!.replaceAll('\n', '')));
line.applyAttribute(NotusAttribute.h2);
document.root.add(line);
} else if (data.nodes[i].toString().contains('<html p>')) {
LineNode line = LineNode();
line = _formatParagraph(data.nodes[i]);
document.root.add(line);
} else if (data.nodes[i].toString().contains('<html ul>')) {
BlockNode block = BlockNode();
block = _formatBlock(data.nodes[i], NotusAttribute.block.bulletList);
document.root.add(block);
} else if (data.nodes[i].toString().contains('<html ol>')) {
BlockNode block = BlockNode();
block = _formatBlock(data.nodes[i], NotusAttribute.block.numberList);
document.root.add(block);
}
}
return document;
}