mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 22:10:13 +01:00
Update MD054/link-image-style handling of url_inline to ensure link and destination match and that the destination is autolink-able (fixes #1040).
This commit is contained in:
parent
ff465262c9
commit
41bc8465d2
7 changed files with 86 additions and 2 deletions
|
|
@ -29,6 +29,11 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"code_blocks": false
|
"code_blocks": false
|
||||||
},
|
},
|
||||||
|
"link-image-style": {
|
||||||
|
"collapsed": false,
|
||||||
|
"shortcut": false,
|
||||||
|
"url_inline": false
|
||||||
|
},
|
||||||
"no-duplicate-heading": {
|
"no-duplicate-heading": {
|
||||||
"siblings_only": true
|
"siblings_only": true
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6673,7 +6673,7 @@ module.exports = {
|
||||||
if (destination) {
|
if (destination) {
|
||||||
// link kind is an inline link
|
// link kind is an inline link
|
||||||
var title = getTokenTextByType(descendents, "resourceTitleString");
|
var title = getTokenTextByType(descendents, "resourceTitleString");
|
||||||
isError = !inline || !urlInline && autolink && !title && !image;
|
isError = !inline || !urlInline && autolink && !image && !title && label === destination && autolinkAble(destination);
|
||||||
} else {
|
} else {
|
||||||
// link kind is a full/collapsed/shortcut reference link
|
// link kind is a full/collapsed/shortcut reference link
|
||||||
var isShortcut = !children.some(function (t) {
|
var isShortcut = !children.some(function (t) {
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,14 @@ module.exports = {
|
||||||
if (destination) {
|
if (destination) {
|
||||||
// link kind is an inline link
|
// link kind is an inline link
|
||||||
const title = getTokenTextByType(descendents, "resourceTitleString");
|
const title = getTokenTextByType(descendents, "resourceTitleString");
|
||||||
isError = !inline || (!urlInline && autolink && !title && !image);
|
isError = !inline || (
|
||||||
|
!urlInline &&
|
||||||
|
autolink &&
|
||||||
|
!image &&
|
||||||
|
!title &&
|
||||||
|
(label === destination) &&
|
||||||
|
autolinkAble(destination)
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
// link kind is a full/collapsed/shortcut reference link
|
// link kind is a full/collapsed/shortcut reference link
|
||||||
const isShortcut = !children.some((t) => t.type === "reference");
|
const isShortcut = !children.some((t) => t.type === "reference");
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,24 @@ Text <https://example.com> text {MD054}
|
||||||
[url]: https://example.com
|
[url]: https://example.com
|
||||||
[url-title]: https://example.com "title"
|
[url-title]: https://example.com "title"
|
||||||
|
|
||||||
|
Text [link](https://example.com) text
|
||||||
|
|
||||||
|
Text  text
|
||||||
|
|
||||||
|
Text [link][url] text
|
||||||
|
|
||||||
|
Text ![link][url] text
|
||||||
|
|
||||||
|
Text [url][] text
|
||||||
|
|
||||||
|
Text ![url][] text
|
||||||
|
|
||||||
|
Text [url] text
|
||||||
|
|
||||||
|
Text ![url] text
|
||||||
|
|
||||||
|
Text [file.md](file.md) text
|
||||||
|
|
||||||
<!-- markdownlint-configure-file {
|
<!-- markdownlint-configure-file {
|
||||||
"link-image-style": {
|
"link-image-style": {
|
||||||
"autolink": false,
|
"autolink": false,
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,24 @@ Text <https://example.com> text
|
||||||
[url]: https://example.com
|
[url]: https://example.com
|
||||||
[url-title]: https://example.com "title"
|
[url-title]: https://example.com "title"
|
||||||
|
|
||||||
|
Text [link](https://example.com) text
|
||||||
|
|
||||||
|
Text  text
|
||||||
|
|
||||||
|
Text [link][url] text
|
||||||
|
|
||||||
|
Text ![link][url] text
|
||||||
|
|
||||||
|
Text [url][] text
|
||||||
|
|
||||||
|
Text ![url][] text
|
||||||
|
|
||||||
|
Text [url] text
|
||||||
|
|
||||||
|
Text ![url] text
|
||||||
|
|
||||||
|
Text [file.md](file.md) text
|
||||||
|
|
||||||
<!-- markdownlint-configure-file {
|
<!-- markdownlint-configure-file {
|
||||||
"link-image-style": {
|
"link-image-style": {
|
||||||
"url_inline": false
|
"url_inline": false
|
||||||
|
|
|
||||||
|
|
@ -27049,6 +27049,24 @@ Generated by [AVA](https://avajs.dev).
|
||||||
[url]: https://example.com␊
|
[url]: https://example.com␊
|
||||||
[url-title]: https://example.com "title"␊
|
[url-title]: https://example.com "title"␊
|
||||||
␊
|
␊
|
||||||
|
Text [link](https://example.com) text␊
|
||||||
|
␊
|
||||||
|
Text  text␊
|
||||||
|
␊
|
||||||
|
Text [link][url] text␊
|
||||||
|
␊
|
||||||
|
Text ![link][url] text␊
|
||||||
|
␊
|
||||||
|
Text [url][] text␊
|
||||||
|
␊
|
||||||
|
Text ![url][] text␊
|
||||||
|
␊
|
||||||
|
Text [url] text␊
|
||||||
|
␊
|
||||||
|
Text ![url] text␊
|
||||||
|
␊
|
||||||
|
Text [file.md](file.md) text␊
|
||||||
|
␊
|
||||||
<!-- markdownlint-configure-file {␊
|
<!-- markdownlint-configure-file {␊
|
||||||
"link-image-style": {␊
|
"link-image-style": {␊
|
||||||
"autolink": false,␊
|
"autolink": false,␊
|
||||||
|
|
@ -27136,6 +27154,24 @@ Generated by [AVA](https://avajs.dev).
|
||||||
[url]: https://example.com␊
|
[url]: https://example.com␊
|
||||||
[url-title]: https://example.com "title"␊
|
[url-title]: https://example.com "title"␊
|
||||||
␊
|
␊
|
||||||
|
Text [link](https://example.com) text␊
|
||||||
|
␊
|
||||||
|
Text  text␊
|
||||||
|
␊
|
||||||
|
Text [link][url] text␊
|
||||||
|
␊
|
||||||
|
Text ![link][url] text␊
|
||||||
|
␊
|
||||||
|
Text [url][] text␊
|
||||||
|
␊
|
||||||
|
Text ![url][] text␊
|
||||||
|
␊
|
||||||
|
Text [url] text␊
|
||||||
|
␊
|
||||||
|
Text ![url] text␊
|
||||||
|
␊
|
||||||
|
Text [file.md](file.md) text␊
|
||||||
|
␊
|
||||||
<!-- markdownlint-configure-file {␊
|
<!-- markdownlint-configure-file {␊
|
||||||
"link-image-style": {␊
|
"link-image-style": {␊
|
||||||
"url_inline": false␊
|
"url_inline": false␊
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue