@Override public void getAstExtra(StringBuilder out) { if (openingMarker.isNotNull()) out.append(" typographicOpening: ").append(typographicOpening).append(" "); if (closingMarker.isNotNull()) out.append(" typographicClosing: ").append(typographicClosing).append(" "); delimitedSegmentSpanChars(out, openingMarker, text, closingMarker, "text"); }
@Override public void getAstExtra(StringBuilder out) { segmentSpanChars(out, openingMarker, "open"); segmentSpanChars(out, text, "text"); if (pageRef.isNotNull()) segmentSpanChars(out, pageRef, "pageRef"); if (anchorMarker.isNotNull()) segmentSpanChars(out, anchorMarker, "anchorMarker"); if (anchorRef.isNotNull()) segmentSpanChars(out, anchorRef, "anchorRef"); segmentSpanChars(out, closingMarker, "close"); }
@Override public void getAstExtra(StringBuilder out) { delimitedSegmentSpanChars(out, textOpeningMarker, text, textClosingMarker, "text"); segmentSpanChars(out, linkOpeningMarker, "linkOpen"); delimitedSegmentSpanChars(out, urlOpeningMarker, url, urlClosingMarker, "url"); if (pageRef.isNotNull()) segmentSpanChars(out, pageRef, "pageRef"); if (anchorMarker.isNotNull()) segmentSpanChars(out, anchorMarker, "anchorMarker"); if (anchorRef.isNotNull()) segmentSpanChars(out, anchorRef, "anchorRef"); if (urlContent.isNotNull()) segmentSpanChars(out, urlContent, "urlContent"); delimitedSegmentSpanChars(out, titleOpeningMarker, title, titleClosingMarker, "title"); segmentSpanChars(out, linkClosingMarker, "linkClose"); }
public static void segmentSpanChars(StringBuilder out, BasedSequence sequence, String name) { if (sequence.isNotNull()) segmentSpanChars(out, sequence.getStartOffset(), sequence.getEndOffset(), name, sequence.toString()); }
@Override public void getAstExtra(StringBuilder out) { delimitedSegmentSpanChars(out, textOpeningMarker, text, textClosingMarker, "text"); segmentSpanChars(out, linkOpeningMarker, "linkOpen"); delimitedSegmentSpanChars(out, urlOpeningMarker, url, urlClosingMarker, "url"); if (pageRef.isNotNull()) segmentSpanChars(out, pageRef, "pageRef"); if (anchorMarker.isNotNull()) segmentSpanChars(out, anchorMarker, "anchorMarker"); if (anchorRef.isNotNull()) segmentSpanChars(out, anchorRef, "anchorRef"); delimitedSegmentSpanChars(out, titleOpeningMarker, title, titleClosingMarker, "title"); segmentSpanChars(out, linkClosingMarker, "linkClose"); }
public BasedSequence getInfoDelimitedByAny(CharSequence delimiters) { BasedSequence language = BasedSequence.NULL; if (info.isNotNull() && !info.isBlank()) { int space = info.indexOfAny(delimiters); if (space == -1) { language = info; } else { language = info.subSequence(0, space); } } return language; }
@SuppressWarnings("WeakerAccess") public HtmlWriter srcPosWithEOL(BasedSequence sourceText) { if (sourceText.isNotNull()) { return srcPos(sourceText.getStartOffset(), sourceText.getEndOffset()); } return this; }
public static void delimitedSegmentSpanChars( StringBuilder out, BasedSequence openingSequence, BasedSequence sequence, BasedSequence closingSequence, String name ) { if (openingSequence.isNotNull()) segmentSpanChars(out, openingSequence.getStartOffset(), openingSequence.getEndOffset(), name + "Open", openingSequence.toString()); if (sequence.isNotNull()) segmentSpanChars(out, sequence.getStartOffset(), sequence.getEndOffset(), name, sequence.toVisibleWhitespaceString()); if (closingSequence.isNotNull()) segmentSpanChars(out, closingSequence.getStartOffset(), closingSequence.getEndOffset(), name + "Close", closingSequence.toString()); }
public static void segmentSpan(StringBuilder out, BasedSequence sequence, String name) { if (sequence.isNotNull()) segmentSpan(out, sequence.getStartOffset(), sequence.getEndOffset(), name); }
public HtmlWriter srcPos(BasedSequence sourceText) { if (sourceText.isNotNull()) { BasedSequence trimmed = sourceText.trimEOL(); return srcPos(trimmed.getStartOffset(), trimmed.getEndOffset()); } return this; }
private void render(WikiLink node, NodeRendererContext context, HtmlWriter html) { if (options.disableRendering) { html.text(node.getChars().unescape()); } else { ResolvedLink resolvedLink = context.resolveLink(WikiLinkExtension.WIKI_LINK, node.getLink().toString(), null); html.raw("["); html.raw(node.getText().isNotNull() ? node.getText().toString() : node.getPageRef().toString()); html.raw("|"); html.raw(resolvedLink.getUrl()); html.raw("]"); } }
private void processNode(Heading node) { if (node.getText().isNotNull()) { Node anchor = new AnchorLink(); if (!options.wrapText) { if (node.getFirstChild() == null) { node.appendChild(anchor); } else { node.getFirstChild().insertBefore(anchor); } } else { anchor.takeChildren(node); node.appendChild(anchor); } } }
private void render(SimTocBlock node, NodeRendererContext context, HtmlWriter html) { HeadingCollectingVisitor visitor = new HeadingCollectingVisitor(); List<Heading> headings = visitor.collectAndGetHeadings(node.getDocument()); if (headings != null) { SimTocOptionsParser optionsParser = new SimTocOptionsParser(); TocOptions options = optionsParser.parseOption(node.getStyle(), this.options, null).getFirst(); if (node.getTitle().isNotNull()) { options = options.withTitle(node.getTitle().unescape()); } renderTocHeaders(context, html, node, headings, options); } }
private void render(WikiImage node, NodeRendererContext context, HtmlWriter html) { if (!context.isDoNotRenderLinks()) { if (options.disableRendering) { html.text(node.getChars().unescape()); } else { String altText = node.getText().isNotNull() ? node.getText().toString() : node.getLink().unescape(); ResolvedLink resolvedLink = context.resolveLink(WikiLinkExtension.WIKI_LINK, node.getLink().unescape(), null); String url = resolvedLink.getUrl(); html.attr("src", url); html.attr("alt", altText); html.srcPos(node.getChars()).withAttr(resolvedLink).tagVoid("img"); } } }
private void render(final Link node, final DocxRendererContext docx) { ResolvedLink resolvedLink = docx.resolveLink(LinkType.LINK, node.getUrl().unescape(), null, null); // we have a title part, use that Attributes attributes = resolvedLink.getNonNullAttributes(); if (node.getTitle().isNotNull()) { attributes.replaceValue(Attribute.TITLE_ATTR, node.getTitle().unescape()); } else { attributes.remove(Attribute.TITLE_ATTR); } attributes = docx.extendRenderingNodeAttributes(AttributablePart.NODE, attributes); renderURL(node.getUrl(), docx, resolvedLink.getUrl(), attributes, new ChildRenderer(docx, node)); }
private void render(FencedCodeBlock node, NodeRendererContext context, HtmlWriter html) { BasedSequence info = node.getInfo(); if (info.isNotNull() && !info.isBlank()) { html.line().raw("{code:lang=" + info.unescape() + "}").line(); } else { html.line().raw("{code}").line(); } html.raw(node.getContentChars().normalizeEOL()); html.line().raw("{code}").blankLine(); }
private void render(FencedCodeBlock node, NodeRendererContext context, HtmlWriter html) { BasedSequence info = node.getInfo(); if (info.isNotNull() && !info.isBlank()) { html.line().raw("{code:lang=" + info.unescape() + "}").line(); } else { html.line().raw("{code}").line(); } html.raw(node.getContentChars().normalizeEOL()); html.line().raw("{code}").blankLine(); }
private void render(final AdmonitionBlock node, final NodeFormatterContext context, MarkdownWriter markdown) { markdown.blankLine(); markdown.append(node.getOpeningMarker()).append(' '); markdown.appendNonTranslating(node.getInfo()); if (node.getTitle().isNotNull()) { markdown.append(' ').append('"').appendTranslating(node.getTitle()).append('"'); } markdown.line(); markdown.pushPrefix().addPrefix(RepeatedCharSequence.of(" ", options.contentIndent).toString()); context.renderChildren(node); markdown.blankLine(); markdown.popPrefix(); }
void render(Link node, NodeRendererContext context, HtmlWriter html) { if (context.isDoNotRenderLinks() || isSuppressedLinkPrefix(node.getUrl(), context)) { context.renderChildren(node); } else { ResolvedLink resolvedLink = context.resolveLink(LinkType.LINK, node.getUrl().unescape(), null, null); html.attr("href", resolvedLink.getUrl()); // we have a title part, use that if (node.getTitle().isNotNull()) { resolvedLink.getNonNullAttributes().replaceValue(Attribute.TITLE_ATTR, node.getTitle().unescape()); } else { resolvedLink.getNonNullAttributes().remove(Attribute.TITLE_ATTR); } html.attr(resolvedLink.getAttributes()); html.srcPos(node.getChars()).withAttr(resolvedLink).tag("a"); renderChildrenSourceLineWrapped(node, node.getText(), context, html); html.tag("/a"); } }