public void visit(RefLinkNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference link printer.print('[').print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printLink(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public Rule ReferenceNoEOL() { Var<ReferenceNode> ref = new Var<ReferenceNode>(); return NodeSequence( NonindentSpace(), Label(), push(ref.setAndGet(new ReferenceNode(popAsNode()))), ':', Spn1(), RefSrc(ref), Sp(), Optional(RefTitle(ref)), Sp(), // make range not include the EOL Test(Newline()), references.add(ref.get()) ); }
public Rule RefTitle(char open, char close, Var<ReferenceNode> ref) { return Sequence( open, ZeroOrMore(TestNot(close, Sp(), Newline()), NotNewline(), ANY), ref.get().setTitle(match()), close ); }
private void declareReference(ReferenceNode node) { TextNode text = (TextNode) node.getChildren().get(0).getChildren().get(0); String title = node.getTitle(); String url = node.getUrl(); String key = text.getText(); Ref ref = new Ref(key, url, title); references.put(key, ref); }
private String getRefLinkUrl(SuperNode referenceKey, String linkName) { //FIXME need to implement ReferenceNode refNode = references.get(linkName); StringBuilder sb = new StringBuilder(); if (refNode != null) { sb.append(refNode.getUrl()); } return sb.toString(); }
public void visit(RefImageNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference image link printer.print("![").print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printImageTag(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
@Override public void visit(final RefLinkNode rln) { _buffer.append( '[' ); visitChildren(rln); _buffer.append('|'); final String ref = getRefString(rln, rln.referenceKey); final String parentPageTitle = getHomePageTitle(); String url = ref; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null && referenceNode.getUrl() != null && url.length() > 0) { url = referenceNode.getUrl(); } // If URL is a relative URL, we will create a link to the project try { new URL(url); } catch (MalformedURLException e) { // not a valid URL (hence a relative link) if( parentPageTitle != null && !url.startsWith(parentPageTitle)) { _buffer.append(parentPageTitle).append(" - "); } } _buffer.append(url); if (referenceNode != null && referenceNode.getTitle() != null) { _buffer.append('|').append(referenceNode.getTitle()); } _buffer.append( ']' ); }
@Override public void visit(final RefLinkNode rln) { _buffer.append( '[' ); visitChildren(rln); _buffer.append('|'); final String ref = getRefString(rln, rln.referenceKey); final String parentPageTitle = getHomePageTitle(); String url = ref; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null && referenceNode.getUrl() != null && url.length() > 0) { url = referenceNode.getUrl(); } // If URL is a relative URL, we will create a link to the project try { new URL(url); } catch (MalformedURLException e) { // not a valid URL (hence a relative link) if( parentPageTitle != null && !url.startsWith(parentPageTitle)) { _buffer.append(parentPageTitle).append(" - "); } } _buffer.append(url); if (referenceNode != null && referenceNode.getTitle() != null) { _buffer.append('|').append(referenceNode.getTitle()); } _buffer.append( ']' ); }
@Override public void visit(final RefLinkNode rln) { _buffer.append( '[' ); visitChildren(rln); _buffer.append('|'); final String ref = getRefString(rln, rln.referenceKey); final String parentPageTitle = getHomePageTitle(); String url = ref; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null && referenceNode.getUrl() != null && url.length() > 0) { url = referenceNode.getUrl(); } // If URL is a relative URL, we will create a link to the project try { new URL(url); } catch (MalformedURLException e) { // not a valid URL (hence a relative link) if( parentPageTitle != null && !url.startsWith(parentPageTitle)) { _buffer.append(parentPageTitle).append(" - "); } } _buffer.append(url); if (referenceNode != null && referenceNode.getTitle() != null) { _buffer.append('|').append(referenceNode.getTitle()); } _buffer.append( ']' ); }
@Override public void visit(final RefImageNode rin) { final ArrayList<String> alt = new ArrayList<String>(); boolean found = findByClass(rin, TextNode.class, new FindPredicate<TextNode>() { @Override public boolean f(TextNode node, Node parent, int index) { alt.add(node.getText()); return true; } }); if (!found) { throw new IllegalStateException("The alt name should be mandatory in Markdown for images. "); } final SuperNode referenceKey = rin.referenceKey; final String ref = getRefString(rin, referenceKey); String url = ref; String title = null; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null) { if (isNotBlank(referenceNode.getUrl())) { url = referenceNode.getUrl(); } title = referenceNode.getTitle(); } String titlePart = isNotBlank(title) ? format("|title=\"%s\"", title) : ""; _buffer.append( format( "!%s|alt=\"%s\"%s!", url, alt.get(0), titlePart)); }
private LinkNode toLinkNode(RefLinkNode node) { escapeHtmlNodes = true; String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; escapeHtmlNodes = false; ReferenceNode refNode = references.get(normalize(key)); String title = null; String url = null; if (refNode != null) { title = refNode.getTitle(); url = refNode.getUrl(); } LinkNode linkNode = new LinkNode(url, title, text); return linkNode; }
@Override public void visit(final RefImageNode rin) { final ArrayList<String> alt = new ArrayList<String>(); boolean found = findByClass(rin, TextNode.class, new FindPredicate<TextNode>() { @Override public boolean f(TextNode node, Node parent, int index) { alt.add(replaceProperties(node.getText())); return true; } }); if (!found) { throw new IllegalStateException("The alt name should be mandatory in Markdown for images. "); } final SuperNode referenceKey = rin.referenceKey; final String ref = getRefString(rin, referenceKey); String url = ref; String title = null; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null) { if (isNotBlank(referenceNode.getUrl())) { url = referenceNode.getUrl(); } title = referenceNode.getTitle(); } String titlePart = isNotBlank(title) ? format("|title=\"%s\"", title) : ""; _buffer.append( format( "!%s|alt=\"%s\"%s!", url, alt.get(0), titlePart)); }
@Override public void visit(final RefImageNode rin) { final ArrayList<String> alt = new ArrayList<String>(); boolean found = findByClass(rin, TextNode.class, new FindPredicate<TextNode>() { @Override public boolean f(TextNode node, Node parent, int index) { alt.add(node.getText()); return true; } }); if (!found) { throw new IllegalStateException("The alt name should be mandatory in Markdown for images. "); } final SuperNode referenceKey = rin.referenceKey; final String ref = getRefString(rin, referenceKey); String url = ref; String title = null; ReferenceNode referenceNode = referenceNodes.get(ref); if (referenceNode != null) { if (isNotBlank(referenceNode.getUrl())) { url = referenceNode.getUrl(); } title = referenceNode.getTitle(); } String titlePart = isNotBlank(title) ? format("|title=\"%s\"", title) : ""; _buffer.append( format( "!%s|alt=\"%s\"%s!", url, alt.get(0), titlePart)); }
private LinkNode toLinkNode(RefLinkNode node) { escapeHtmlNodes = true; String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; escapeHtmlNodes = false; ReferenceNode refNode = references.get(normalize(key)); String title = null; String url = null; if (refNode != null) { title = refNode.getTitle(); url = refNode.getUrl(); } LinkNode linkNode = new LinkNode(url, title, text); return linkNode; }
public void visit(RefLinkNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference link printer.print('[').print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printLink(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public void visit(RefImageNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference image link printer.print("![").print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printImageTag(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public void visit(RefImageNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference image link printer.print("![").print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printImageTag(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }
public void visit(RefLinkNode node) { String text = printChildrenToString(node); String key = node.referenceKey != null ? printChildrenToString(node.referenceKey) : text; ReferenceNode refNode = references.get(normalize(key)); if (refNode == null) { // "fake" reference link printer.print('[').print(text).print(']'); if (node.separatorSpace != null) { printer.print(node.separatorSpace).print('['); if (node.referenceKey != null) printer.print(key); printer.print(']'); } } else printLink(linkRenderer.render(node, refNode.getUrl(), refNode.getTitle(), text)); }