Make all Markdown extensions configurable

Allow site admins to selectively enable or disable Markdown
extensions.  This can help a site avoid creating documentation
that isn't compatible with other CommonMark parsers.

Change-Id: I0466b03ef213a398d79f943af2ddf95a7e0853e7
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/Navbar.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/Navbar.java
index 50e0b61..a4581f1 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/Navbar.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/Navbar.java
@@ -42,9 +42,9 @@
     return this;
   }
 
-  Navbar setMarkdown(byte[] md) {
+  Navbar setMarkdown(MarkdownConfig cfg, byte[] md) {
     if (md != null && md.length > 0) {
-      parse(RawParseUtils.decode(md));
+      parse(cfg, RawParseUtils.decode(md));
     }
     return this;
   }
@@ -73,8 +73,8 @@
     }
   }
 
-  private void parse(String markdown) {
-    node = GitilesMarkdown.parse(markdown);
+  private void parse(MarkdownConfig cfg, String markdown) {
+    node = GitilesMarkdown.parse(cfg, markdown);
 
     extractSiteTitle();
     extractRefLinks(markdown);