in src/main/java/org/apache/datasketches/docgen/TocGenerator.java [127:158]
void emitDropdown(final JSONObject dropdn, final StringBuilder sb) {
final String desc = dropdn.getString("desc");
final String lowercaseDesc = desc.toLowerCase();
final String pId = lowercaseDesc.replace(' ', '-');
final String divId = "collapse_" + lowercaseDesc.replace(' ', '_');
final String href = "#" + divId;
final String indent = indent(level);
//paragraph with desc
sb.append(LS);
sb.append(indent).append("<p id=").append(quotes(pId)).append(">").append(LS);
sb.append(indent).append(" ").append("<a data-toggle=\"collapse\" ")
.append("class=\"menu collapsed\" href=").append(quotes(href)).append(">")
.append(desc).append("</a>").append(LS);
sb.append(indent).append("</p>").append(LS);
//start dropdown array
sb.append(indent).append("<div class=\"collapse\" ").append("id=").append(quotes(divId))
.append(">").append(LS);
//JSONArray
level++;
final JSONArray jarr = dropdn.getJSONArray("array");
final Iterator<Object> itr = jarr.iterator();
while (itr.hasNext()) {
final JSONObject jo = (JSONObject) itr.next();
final String clazz = jo.getString("class");
if (clazz.equals("Dropdown")) { emitDropdown(jo, sb); }
else { emitDoc(jo, sb); }
}
level--;
sb.append(indent).append("</div>").append(LS);
}