getNotusFromHtml static method

NotusDocument getNotusFromHtml(
  1. 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;
}