diff --git a/app/assets/javascripts/discourse/lib/markdown.js b/app/assets/javascripts/discourse/lib/markdown.js index 00748dfae..7d4086195 100644 --- a/app/assets/javascripts/discourse/lib/markdown.js +++ b/app/assets/javascripts/discourse/lib/markdown.js @@ -134,6 +134,10 @@ Discourse.Markdown = { if(/^(https?:)?\/\/[\w\.\-]+/i.test(url)) { return url; } // relative urls if(/^\/[\w\.\-]+/i.test(url)) { return url; } + // anchors + if(/^#[\w\.\-]+/i.test(url)) { return url; } + // mailtos + if(/^mailto:[\w\.\-@]+/i.test(url)) { return url; } }, /** diff --git a/test/javascripts/mdtest/fixtures/Links, reference style.text b/test/javascripts/mdtest/fixtures/Links, reference style.text index 341ec88e3..96d4470d1 100755 --- a/test/javascripts/mdtest/fixtures/Links, reference style.text +++ b/test/javascripts/mdtest/fixtures/Links, reference style.text @@ -56,7 +56,7 @@ In this case, [this](/somethingelse/) points to something else. Backslashing should suppress \[this] and [this\]. -[this]: foo +[this]: #foo * * * diff --git a/test/javascripts/mdtest/fixtures/Links, reference style.xhtml b/test/javascripts/mdtest/fixtures/Links, reference style.xhtml index 8e70c32f4..9eb8ffe69 100755 --- a/test/javascripts/mdtest/fixtures/Links, reference style.xhtml +++ b/test/javascripts/mdtest/fixtures/Links, reference style.xhtml @@ -19,15 +19,15 @@ <hr /> -<p><a href="foo">this</a> should work</p> +<p><a href="#foo">this</a> should work</p> -<p>So should <a href="foo">this</a>.</p> +<p>So should <a href="#foo">this</a>.</p> -<p>And <a href="foo">this</a>.</p> +<p>And <a href="#foo">this</a>.</p> -<p>And <a href="foo">this</a>.</p> +<p>And <a href="#foo">this</a>.</p> -<p>And <a href="foo">this</a>.</p> +<p>And <a href="#foo">this</a>.</p> <p>But not [that] [].</p> @@ -35,9 +35,9 @@ <p>Nor [that].</p> -<p>[Something in brackets like <a href="foo">this</a> should work]</p> +<p>[Something in brackets like <a href="#foo">this</a> should work]</p> -<p>[Same with <a href="foo">this</a>.]</p> +<p>[Same with <a href="#foo">this</a>.]</p> <p>In this case, <a href="/somethingelse/">this</a> points to something else.</p>