Browse Source

Allow spaces inside brackets in links

This is now allowed as per commonmark 0.29 spec:
[inline link](<./inline link.md>)

fix https://github.com/markdown-it/markdown-it/issues/567
pull/570/head
Alex Kocharin 5 years ago
parent
commit
f872cbc31e
  1. 3
      lib/helpers/parse_link_destination.js
  2. 35
      test/fixtures/commonmark/bad.txt
  3. 22
      test/fixtures/commonmark/good.txt

3
lib/helpers/parse_link_destination.js

@ -3,7 +3,6 @@
'use strict';
var isSpace = require('../common/utils').isSpace;
var unescapeAll = require('../common/utils').unescapeAll;
@ -22,7 +21,7 @@ module.exports = function parseLinkDestination(str, pos, max) {
pos++;
while (pos < max) {
code = str.charCodeAt(pos);
if (code === 0x0A /* \n */ || isSpace(code)) { return result; }
if (code === 0x0A /* \n */) { return result; }
if (code === 0x3E /* > */) {
result.pos = pos + 1;
result.str = unescapeAll(str.slice(start + 1, pos));

35
test/fixtures/commonmark/bad.txt

@ -34,27 +34,6 @@ foo</p>
<pre><code></code></pre>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 2844
.
[Foo bar]:
<my url>
'title'
[Foo bar]
.
<p><a href="my%20url" title="title">Foo bar</a></p>
.
error:
<p>[Foo bar]:
<my url>
'title'</p>
<p>[Foo bar]</p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5176
@ -258,20 +237,6 @@ error:
<p>foo******bar*********baz</p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 7542
.
[link](</my uri>)
.
<p><a href="/my%20uri">link</a></p>
.
error:
<p>[link](&lt;/my uri&gt;)</p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9240

22
test/fixtures/commonmark/good.txt

@ -2168,6 +2168,19 @@ src line: 2835
<p><a href="my_(url)" title="title (with parens)">Foo*bar]</a></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 2844
.
[Foo bar]:
<my url>
'title'
[Foo bar]
.
<p><a href="my%20url" title="title">Foo bar</a></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 2857
@ -5949,6 +5962,15 @@ src line: 7536
<p>[link](/my uri)</p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 7542
.
[link](</my uri>)
.
<p><a href="/my%20uri">link</a></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 7551

Loading…
Cancel
Save