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); } }
public static String getSimTocPrefix(TocOptions options, TocOptions defaultOptions) { DelimitedBuilder out = new DelimitedBuilder(" "); out.append("[TOC").mark(); SimTocOptionsParser optionsParser = new SimTocOptionsParser(); out.append(optionsParser.getOptionText(options, defaultOptions)); out.unmark().append("]:").mark().append('#').mark(); String optionTitleHeading = options.getTitleHeading(); String optionTitle = options.title; if (defaultOptions == null || !optionTitleHeading.equals(defaultOptions.getTitleHeading())) { if (!optionTitle.isEmpty()) { out.append('"'); if (defaultOptions == null || options.titleLevel != defaultOptions.titleLevel) { out.append(optionTitleHeading); } else { out.append(optionTitle); } out.append('"').mark(); } else { out.append("\"\"").mark(); } } out.unmark().append("\n").unmark(); return out.toString(); }
SimTocOptionsParser optionsParser = new SimTocOptionsParser(); Pair<TocOptions, List<ParsedOption<TocOptions>>> pair = optionsParser.parseOption(block.getStyle(), TocOptions.DEFAULT, null); List<ParsedOption<TocOptions>> options = pair.getSecond(); if (!options.isEmpty()) {
public static String getSimTocPrefix(TocOptions options, TocOptions defaultOptions) { DelimitedBuilder out = new DelimitedBuilder(" "); out.append("[TOC").mark(); SimTocOptionsParser optionsParser = new SimTocOptionsParser(); out.append(optionsParser.getOptionText(options, defaultOptions)); out.unmark().append("]:").mark().append('#').mark(); String optionTitleHeading = options.getTitleHeading(); String optionTitle = options.title; if (defaultOptions == null || !optionTitleHeading.equals(defaultOptions.getTitleHeading())) { if (!optionTitle.isEmpty()) { out.append('"'); if (defaultOptions == null || options.titleLevel != defaultOptions.titleLevel) { out.append(optionTitleHeading); } else { out.append(optionTitle); } out.append('"').mark(); } else { out.append("\"\"").mark(); } } out.unmark().append("\n").unmark(); return out.toString(); }
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); } }
SimTocOptionsParser optionsParser = new SimTocOptionsParser(); Pair<TocOptions, List<ParsedOption<TocOptions>>> pair = optionsParser.parseOption(block.getStyle(), TocOptions.DEFAULT, null); List<ParsedOption<TocOptions>> options = pair.getSecond(); if (!options.isEmpty()) {