From 5302922dd8fe13b3defc4b5366d0b25edef3b672 Mon Sep 17 00:00:00 2001 From: Ashe Connor Date: Tue, 14 Nov 2017 12:55:24 +1100 Subject: [PATCH 1/2] what if dot-git --- src/render.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/render.rs b/src/render.rs index 6b15705cd8..e99770e837 100644 --- a/src/render.rs +++ b/src/render.rs @@ -310,11 +310,12 @@ mod tests { let relative = "[there](there)"; for host in &["github.com", "gitlab.com", "bitbucket.org"] { - for &extra_slash in &[true, false] { + for (&extra_slash, &dot_git) in [true, false].iter().zip(&[true, false]) { let url = format!( - "https://{}/rust-lang/test{}", + "https://{}/rust-lang/test{}{}", host, - if extra_slash { "/" } else { "" } + if dot_git { ".git" } else { "" }, + if extra_slash { "/" } else { "" }, ); let result = markdown_to_html(absolute, Some(&url)).unwrap(); From 962e86dcfe68da8930f7562ec9ed3cbd77e1fd0f Mon Sep 17 00:00:00 2001 From: Ashe Connor Date: Tue, 14 Nov 2017 12:55:48 +1100 Subject: [PATCH 2/2] never fear dot-git --- src/render.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/render.rs b/src/render.rs index e99770e837..3bf8ee78ee 100644 --- a/src/render.rs +++ b/src/render.rs @@ -129,6 +129,10 @@ impl<'a> MarkdownRenderer<'a> { if !new_url.ends_with('/') { new_url.push('/'); } + if new_url.ends_with(".git/") { + let offset = new_url.len() - 5; + new_url.drain(offset..offset + 4); + } new_url += "blob/master"; if !url.starts_with('/') { new_url.push('/');