Include GitHub markdown compatibility anchor only as needed Limit adding the second anchor to provide better compatibility with GitHub's markdown rendering to be only added if the existing id is not already all lowercase and thus compatible. Change-Id: If018d4452263226ef4215f50dd517a3e84a79de6
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/MarkdownToHtml.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/MarkdownToHtml.java index 9de1a09..b88f4fd 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/MarkdownToHtml.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/MarkdownToHtml.java
@@ -229,13 +229,15 @@ .close("span") .close("a"); // github markdown compatibility - html.open("a") - .attribute("class", "h") - .attribute("name", id.toLowerCase()) - .attribute("href", "#" + id.toLowerCase()) - .open("span") - .close("span") - .close("a"); + if (id != id.toLowerCase()) { + html.open("a") + .attribute("class", "h") + .attribute("name", id.toLowerCase()) + .attribute("href", "#" + id.toLowerCase()) + .open("span") + .close("span") + .close("a"); + } } visitChildren(node); html.close(tag);
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/doc/DocServletTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/doc/DocServletTest.java index 38bbbf9..c27f0ba 100644 --- a/gitiles-servlet/src/test/java/com/google/gitiles/doc/DocServletTest.java +++ b/gitiles-servlet/src/test/java/com/google/gitiles/doc/DocServletTest.java
@@ -54,11 +54,7 @@ assertThat(html).contains("<li><a href=\"/b/repo/+/master/index.md\">Home</a></li>"); assertThat(html).contains("<li><a href=\"/b/repo/+/master/README.md\">README</a></li>"); assertThat(html) - .contains( - "<h1>" - + "<a class=\"h\" name=\"page\" href=\"#page\"><span></span></a>" - + "<a class=\"h\" name=\"page\" href=\"#page\"><span></span></a>" - + "page</h1>"); + .contains("<h1><a class=\"h\" name=\"page\" href=\"#page\"><span></span></a>page</h1>"); } @Test @@ -88,7 +84,6 @@ .contains( "<h1>" + "<a class=\"h\" name=\"debug\" href=\"#debug\"><span></span></a>" - + "<a class=\"h\" name=\"debug\" href=\"#debug\"><span></span></a>" + "Section</h1>"); assertThat(html) .contains(