Exemple #1
0
  @Override
  public String renderNodeXhtml(Node node) {
    StringBuilder ret = new StringBuilder();
    if (node.lengthChildren() == 0) {
      return "";
    }
    // Внцтри [url] только текст
    TextNode txtNode = (TextNode) node.getChildren().iterator().next();
    String url;
    if (node.isParameter()) {
      // сюда никогда не должна попасть обрабатывается специально в Parser
      url = node.getParameter().trim();
    } else {
      url = txtNode.getText().trim();
    }
    String linkText = txtNode.getText().trim();
    if (linkText == null || linkText.isEmpty()) {
      linkText = url;
    }
    String escapedUrl = URLUtil.fixURL(url);
    if (URLUtil.isUrl(escapedUrl)) {
      ret.append("<a href=\"");
      ret.append(escapedUrl);
      ret.append("\">");
      ret.append(Parser.escape(linkText));
      ret.append("</a>");
    } else {
      ret.append("<s>");
      ret.append(Parser.escape(url));
      ret.append("</s>");
    }

    return ret.toString();
  }
Exemple #2
0
 @Override
 public String renderXHtml() {
   ToHtmlFormatter toHtmlFormatter = state.getRootNode().getToHtmlFormatter();
   if (toHtmlFormatter != null) {
     if (TagNode.class.isInstance(parent)) {
       TagNode tagNode = (TagNode) parent;
       if (parserParameters.getAutoLinkTags().contains(tagNode.bbtag.getName())) {
         return toHtmlFormatter.format(
             text,
             state.getRootNode().isSecure(),
             state.getRootNode().isNofollow(),
             state.getTypoChanger());
       } else {
         return toHtmlFormatter.simpleFormat(state.getTypoChanger().format(text));
       }
     }
   }
   return Parser.escape(text);
 }
Exemple #3
0
 @Override
 public String renderOg() {
   return Parser.escape(text);
 }