Skip to content

Commit fbda0c9

Browse files
razum2umdpursehouse
authored andcommitted
Don't render navbar.md metadata in html
After using a named link in navbar.md as metadata to activate extensions they remained rendered in html as plain text Change-Id: I5562853692f763f58be08e132be1ce550aafd9dd
1 parent c0dafc9 commit fbda0c9

2 files changed

Lines changed: 34 additions & 19 deletions

File tree

java/com/google/gitiles/doc/Navbar.java

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ private Object logo() {
8989
}
9090

9191
private void parse(String markdown) {
92-
extractMetadata(markdown);
93-
node = GitilesMarkdown.parse(cfg, markdown);
92+
String md = extractMetadata(markdown);
93+
node = GitilesMarkdown.parse(cfg, md);
9494
extractSiteTitle();
9595
}
9696

@@ -107,24 +107,33 @@ private void extractSiteTitle() {
107107
}
108108
}
109109

110-
private void extractMetadata(String markdown) {
110+
private String extractMetadata(String markdown) {
111111
Matcher m = META_LINK.matcher(markdown);
112-
while (m.find()) {
113-
String key = m.group(1).toLowerCase();
114-
String url = m.group(2).trim();
115-
switch (key) {
116-
case "logo":
117-
logoUrl = url;
118-
break;
119-
case "home":
120-
homeUrl = url;
121-
break;
122-
case "extensions":
123-
Set<String> names = splitExtensionNames(url);
124-
cfg = cfg.copyWithExtensions(enabled(names), disabled(names));
125-
break;
126-
}
112+
boolean foundMetadata = m.find();
113+
if (foundMetadata) {
114+
StringBuffer sb = new StringBuffer();
115+
do {
116+
String key = m.group(1).toLowerCase();
117+
String url = m.group(2).trim();
118+
switch (key) {
119+
case "logo":
120+
logoUrl = url;
121+
break;
122+
case "home":
123+
homeUrl = url;
124+
break;
125+
case "extensions":
126+
Set<String> names = splitExtensionNames(url);
127+
cfg = cfg.copyWithExtensions(enabled(names), disabled(names));
128+
break;
129+
}
130+
m.appendReplacement(sb, "");
131+
foundMetadata = m.find();
132+
} while (foundMetadata);
133+
m.appendTail(sb);
134+
return sb.toString();
127135
}
136+
return markdown;
128137
}
129138

130139
private static Set<String> splitExtensionNames(String url) {

javatests/com/google/gitiles/doc/DocServletTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ public void simpleReadmeDoc() throws Exception {
4040

4141
@Test
4242
public void includesNavbar() throws Exception {
43-
String navbar = "# Site Title\n" + "\n" + "* [Home](index.md)\n" + "* [README](README.md)\n";
43+
String navbar =
44+
"# Site Title\n"
45+
+ "\n"
46+
+ "* [Home](index.md)\n"
47+
+ "* [README](README.md)\n"
48+
+ "[extensions]: blocknote\n";
4449
repo.branch("master")
4550
.commit()
4651
.add("README.md", "# page\n\nof information.")
@@ -53,6 +58,7 @@ public void includesNavbar() throws Exception {
5358
assertThat(html).contains("<span class=\"Header-anchorTitle\">Site Title</span>");
5459
assertThat(html).contains("<li><a href=\"/b/repo/+/master/index.md\">Home</a></li>");
5560
assertThat(html).contains("<li><a href=\"/b/repo/+/master/README.md\">README</a></li>");
61+
assertThat(html).doesNotContain("extensions");
5662
assertThat(html)
5763
.contains("<h1><a class=\"h\" name=\"page\" href=\"#page\"><span></span></a>page</h1>");
5864
}

0 commit comments

Comments
 (0)