Refine search
public static void renderHtmlToc(HtmlWriter html, BasedSequence sourceText, List<Heading> headings, List<String> headingTexts, TocOptions tocOptions) { if (headings.size() > 0 && (sourceText.isNotNull() || !tocOptions.title.isEmpty())) { if (sourceText.isNotNull()) html.srcPos(sourceText); html.attr(Attribute.CLASS_ATTR, tocOptions.divClass).withAttr(TOC_CONTENT).tag("div").line().indent(); html.tag("h" + tocOptions.titleLevel).text(tocOptions.title).tag("/h" + tocOptions.titleLevel).line(); Heading header = headings.get(i); String headerText = headingTexts.get(i); int headerLevel = tocOptions.listType != TocOptions.ListType.HIERARCHY ? 1 : header.getLevel(); html.line().tag("li"); openedItems[headerLevel] = true; String headerId = header.getAnchorRefId(); if (headerId == null || headerId.isEmpty()) { html.raw(headerText);
@SuppressWarnings("MethodMayBeStatic") void render(final Heading node, final NodeRendererContext context, final HtmlWriter html) { if (context.getHtmlOptions().renderHeaderId) { String id = context.getNodeId(node); if (id != null) { html.attr("id", id); } } if (context.getHtmlOptions().sourcePositionParagraphLines) { html.srcPos(node.getChars()).withAttr().tagLine("h" + node.getLevel(), new Runnable() { @Override public void run() { html.srcPos(node.getText()).withAttr().tag("span"); context.renderChildren(node); html.tag("/span"); } }); } else { html.srcPos(node.getText()).withAttr().tagLine("h" + node.getLevel(), new Runnable() { @Override public void run() { context.renderChildren(node); } }); } }
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); } } }
public static List<Heading> filteredHeadings(List<Heading> headings, TocOptions tocOptions) { ArrayList<Heading> filteredHeadings = new ArrayList<Heading>(headings.size()); for (Heading header : headings) { if (tocOptions.isLevelIncluded(header.getLevel()) && !(header.getParent() instanceof SimTocContent)) { filteredHeadings.add(header); } } return filteredHeadings; }
private void render(final Heading node, final NodeFormatterContext context, final MarkdownWriter markdown) { markdown.blankLine(); if (node.isAtxHeading()) { markdown.append(node.getOpeningMarker()); boolean spaceAfterAtx = formatterOptions.spaceAfterAtxMarker == ADD || formatterOptions.spaceAfterAtxMarker == AS_IS && node.getOpeningMarker().getEndOffset() < node.getText().getStartOffset(); if (node.getOpeningMarker().isNull()) break; markdown.append(node.getOpeningMarker()); break; if (node.getClosingMarker().isNotNull()) { if (spaceAfterAtx) markdown.append(' '); markdown.append(node.getClosingMarker()); markdown.repeat(node.getClosingMarker().charAt(0), Utils.minLimit(markdown.offset() - ref.value, formatterOptions.minSetextMarkerLength)); } else { markdown.append(node.getClosingMarker());
private void render(final Heading node, final DocxRendererContext docx) { docx.setBlockFormatProvider(new HeadingBlockFormatProvider<>(docx, node.getLevel() - 1)); docx.createP(); docx.renderChildren(node); }
public static List<String> markdownHeaderTexts(List<Heading> headings, TocOptions tocOptions) { ArrayList<String> headingTexts = new ArrayList<String>(headings.size()); for (Heading header : headings) { String headerText; // need to skip anchor links but render emphasis if (tocOptions.isTextOnly) { headerText = new TextCollectingVisitor().collectAndGetText(header); } else { headerText = header.getChars().toString(); } String headerId = header.getAnchorRefId(); String headerLink; if (headerId == null || headerText.isEmpty()) { headerLink = headerText; } else { headerLink = "[" + headerText + "](#" + headerId + ")"; } headingTexts.add(headerLink); } return headingTexts; }
@Override public void parseInlines(InlineParser inlineParser) { inlineParser.parse(block.getText(), block); }
String key = it.getAnchorRefId(); final String title = it.getAnchorRefText(); final String key2 = computeHeaderId(null, title); if (Strings.isEmpty(key)) {
@Override public void getAstExtra(StringBuilder out) { delimitedSegmentSpanChars(out, openingMarker, text, closingMarker, "text"); }
public static List<Heading> filteredHeadings(List<Heading> headings, TocOptions tocOptions) { ArrayList<Heading> filteredHeadings = new ArrayList<Heading>(headings.size()); for (Heading header : headings) { if (tocOptions.isLevelIncluded(header.getLevel()) && !(header.getParent() instanceof SimTocContent)) { filteredHeadings.add(header); } } return filteredHeadings; }
private void render(final Heading node, final NodeFormatterContext context, final MarkdownWriter markdown) { markdown.blankLine(); if (node.isAtxHeading()) { markdown.append(node.getOpeningMarker()); boolean spaceAfterAtx = formatterOptions.spaceAfterAtxMarker == ADD || formatterOptions.spaceAfterAtxMarker == AS_IS && node.getOpeningMarker().getEndOffset() < node.getText().getStartOffset(); if (node.getOpeningMarker().isNull()) break; markdown.append(node.getOpeningMarker()); break; if (node.getClosingMarker().isNotNull()) { if (spaceAfterAtx) markdown.append(' '); markdown.append(node.getClosingMarker()); markdown.repeat(node.getClosingMarker().charAt(0), Utils.minLimit(markdown.offset() - ref.value, formatterOptions.minSetextMarkerLength)); } else { markdown.append(node.getClosingMarker());
public static List<String> markdownHeaderTexts(List<Heading> headings, TocOptions tocOptions) { ArrayList<String> headingTexts = new ArrayList<String>(headings.size()); for (Heading header : headings) { String headerText; // need to skip anchor links but render emphasis if (tocOptions.isTextOnly) { headerText = new TextCollectingVisitor().collectAndGetText(header); } else { headerText = header.getChars().toString(); } String headerId = header.getAnchorRefId(); String headerLink; if (headerId == null || headerText.isEmpty()) { headerLink = headerText; } else { headerLink = "[" + headerText + "](#" + headerId + ")"; } headingTexts.add(headerLink); } return headingTexts; }
@Override public void parseInlines(InlineParser inlineParser) { inlineParser.parse(block.getText(), block); }