case "li": String type = node.parent.localName; // Parent type; usually ol or ul const EdgeInsets markPadding = EdgeInsets.symmetric(horizontal: 7.0); Widget mark; switch (type) { case "ul": mark = Container(child: Text('•'), padding: markPadding); break; case "ol": int index = node.parent.children.indexOf(node) + 1; mark = Container(child: Text("$index."), padding: markPadding); break; default: //Fallback to middle dot mark = Container(width: 0.0, height: 0.0); break; } return Padding( padding: EdgeInsets.symmetric(vertical: 8.0), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ mark, Expanded( child: Wrap(children: _parseNodeList(node.nodes)), ) ], ));