in java/com/google/gitiles/doc/TocFormatter.java [226:250]
private static String idFromTitle(String title) {
StringBuilder b = new StringBuilder(title.length());
for (char c : StringUtils.stripAccents(title).toCharArray()) {
if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9')) {
b.append(c);
} else if (c == ' ') {
if (b.length() > 0 && b.charAt(b.length() - 1) != '-' && b.charAt(b.length() - 1) != '_') {
b.append('-');
}
} else if (b.length() > 0
&& b.charAt(b.length() - 1) != '-'
&& b.charAt(b.length() - 1) != '_') {
b.append('_');
}
}
while (b.length() > 0) {
char c = b.charAt(b.length() - 1);
if (c == '-' || c == '_') {
b.setLength(b.length() - 1);
continue;
}
break;
}
return b.toString();
}