Support mailto: references `mailto:` references appears in markdown.md but is treated as relative page. Change-Id: I67d9dbdf6667d8400911d28eec7a281a30a50b8b Signed-off-by: Alon Bar-Lev <[email protected]>
diff --git a/java/com/google/gitiles/doc/MarkdownToHtml.java b/java/com/google/gitiles/doc/MarkdownToHtml.java index 8bcb919..ec10d47 100644 --- a/java/com/google/gitiles/doc/MarkdownToHtml.java +++ b/java/com/google/gitiles/doc/MarkdownToHtml.java
@@ -394,7 +394,7 @@ @VisibleForTesting String href(String target) { - if (target.startsWith("#") || HtmlBuilder.isValidHttpUri(target)) { + if (target.startsWith("#") || HtmlBuilder.isValidHttpUri(target) || HtmlBuilder.isValidMailtoUri(target)) { return target; } else if (target.startsWith("git:")) { if (HtmlBuilder.isValidGitUri(target)) {
diff --git a/java/com/google/gitiles/doc/html/HtmlBuilder.java b/java/com/google/gitiles/doc/html/HtmlBuilder.java index 8235161..bf46bf1 100644 --- a/java/com/google/gitiles/doc/html/HtmlBuilder.java +++ b/java/com/google/gitiles/doc/html/HtmlBuilder.java
@@ -105,6 +105,10 @@ && URI.getValueFilter().matcher(val).find(); } + public static boolean isValidMailtoUri(String val) { + return val.startsWith("mailto:") && URI.getValueFilter().matcher(val).find(); + } + /** Check if URL is valid for {@code <img src="data:image/*;base64,...">}. */ public static boolean isImageDataUri(String url) { return IMAGE_DATA.getValueFilter().matcher(url).find();