Skip to content

Commit 6bdb5da

Browse files
committed
Fix wrongly encoding of URLs in links, images, and more
Previously, `normalize-uri` was used to decode and encode URLs. Apparently, that doesn’t work very great. Now, using `mdurl` (from markdown-it) fixes the issue. Closes remarkjs/remark#302.
1 parent f189b24 commit 6bdb5da

File tree

6 files changed

+15
-5
lines changed

6 files changed

+15
-5
lines changed

lib/handlers/image-reference.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module.exports = imageReference;
44

5-
var normalize = require('normalize-uri');
5+
var normalize = require('mdurl/encode');
66
var failsafe = require('../failsafe');
77

88
/* Transform a reference to an image. */

lib/handlers/image.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
var normalize = require('normalize-uri');
3+
var normalize = require('mdurl/encode');
44

55
module.exports = image;
66

lib/handlers/link-reference.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module.exports = linkReference;
44

5-
var normalize = require('normalize-uri');
5+
var normalize = require('mdurl/encode');
66
var failsafe = require('../failsafe');
77
var all = require('../all');
88

lib/handlers/link.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
var normalize = require('normalize-uri');
3+
var normalize = require('mdurl/encode');
44
var all = require('../all');
55

66
module.exports = link;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"collapse-white-space": "^1.0.0",
2323
"detab": "^2.0.0",
2424
"mdast-util-definitions": "^1.2.0",
25-
"normalize-uri": "^1.0.0",
25+
"mdurl": "^1.0.1",
2626
"trim": "0.0.1",
2727
"trim-lines": "^1.0.0",
2828
"unist-builder": "^1.0.1",

test/link.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,15 @@ test('Link', function (t) {
2727
'should transform `link` to `a` (missing `title`)'
2828
);
2929

30+
t.deepEqual(
31+
to(u('link', {
32+
url: 'https://github.com/facebook/react/pulls?q=is%3Apr%20is%3Aclosed'
33+
}, [u('text', 'Alpha')])),
34+
u('element', {tagName: 'a', properties: {
35+
href: 'https://github.com/facebook/react/pulls?q=is%3Apr%20is%3Aclosed'
36+
}}, [u('text', 'Alpha')]),
37+
'should correctly decode/encode urls'
38+
);
39+
3040
t.end();
3141
});

0 commit comments

Comments
 (0)