use of org.sweble.wikitext.parser.nodes.WtXmlComment in project wikivoyage-listings by baturin.
the class TemplateNode method convertWtNodeToString.
/**
* Text conversion of WtNode object to string.
*/
private String convertWtNodeToString(WtNode node) {
if (node instanceof WtTemplate) {
TemplateNode templateNode = new TemplateNode(languageCode, (WtTemplate) node, templateConverters);
for (TemplateToStringConverter parser : templateConverters) {
if (templateNode.getNameLowercase().equals(parser.getTemplateName())) {
return parser.convertToString(templateNode);
}
}
log.debug("Template '" + templateNode.getName() + "' was not parsed");
UnrecognizeTemplateCounter.getInstance().addUnrecognizedTemplate(languageCode, templateNode.getName());
return WtRtDataPrinter.print(node);
} else if (node instanceof WtXmlComment) {
// HTML comments inside listings are ignored
return "";
} else if (node instanceof AstStringNode) {
return ((AstStringNode) node).getContent().replaceAll("\\[\\[([^|\\]]*?\\||)([^|\\]]*?)\\]\\]", "$2");
} else {
String s = "";
for (WtNode childNode : node) {
s += convertWtNodeToString(childNode);
}
return s;
}
}
Aggregations