+ }
+
+ private String formatAndIndexExampleString(final String example, final IndexBuilder indexBuilder) {
+ final WikiTokenizer wikiTokenizer = new WikiTokenizer(example, false);
+ final StringBuilder builder = new StringBuilder();
+ boolean insideTripleQuotes = false;
+ while (wikiTokenizer.nextToken() != null) {
+ if (wikiTokenizer.isPlainText()) {
+ builder.append(wikiTokenizer.token());
+
+ } else if (wikiTokenizer.isWikiLink()) {
+ builder.append(wikiTokenizer.wikiLinkText());
+
+ } else if (wikiTokenizer.isFunction()) {
+ builder.append(wikiTokenizer.token());
+ } else if (wikiTokenizer.isMarkup()) {
+ if (wikiTokenizer.token().equals("'''")) {
+ insideTripleQuotes = !insideTripleQuotes;
+ }
+ } else if (wikiTokenizer.isComment() || wikiTokenizer.isNewline()) {
+ // Do nothing.
+ } else {
+ LOG.warning("unexpected token: " + wikiTokenizer.token());
+ }
+ }
+ return trim(builder.toString());