fix(utils): Markdown linkification match local paths beginning with http (#6478)

This commit is contained in:
Joshua Chen 2022-01-27 09:26:31 +08:00 committed by GitHub
parent d6cff8c754
commit 02186a2b20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View file

@ -21,6 +21,7 @@ describe('replaceMarkdownLinks', () => {
'@site/docs/intro.md': '/docs/intro',
'@site/docs/foo.md': '/doc/foo',
'@site/docs/bar/baz.md': '/doc/baz',
'@site/docs/http.foo.md': '/doc/http',
},
fileString: `
[foo](./foo.md)
@ -29,6 +30,7 @@ describe('replaceMarkdownLinks', () => {
[http](http://github.com/facebook/docusaurus/README.md)
[https](https://github.com/facebook/docusaurus/README.md)
[asset](./foo.js)
[looks like http...](http.foo.md)
[nonexistent](hmmm.md)
`,
}),
@ -51,6 +53,7 @@ describe('replaceMarkdownLinks', () => {
[http](http://github.com/facebook/docusaurus/README.md)
[https](https://github.com/facebook/docusaurus/README.md)
[asset](./foo.js)
[looks like http...](/doc/http)
[nonexistent](hmmm.md)
",
}

View file

@ -64,7 +64,8 @@ export function replaceMarkdownLinks<T extends ContentPaths>({
// Replace inline-style links or reference-style links e.g:
// This is [Document 1](doc1.md) -> we replace this doc1.md with correct link
// [doc1]: doc1.md -> we replace this doc1.md with correct link
const mdRegex = /(?:(?:\]\()|(?:\]:\s?))(?!https?)([^'")\]\s>]+\.mdx?)/g;
const mdRegex =
/(?:(?:\]\()|(?:\]:\s?))(?!https?:\/\/)([^'")\]\s>]+\.mdx?)/g;
let mdMatch = mdRegex.exec(modifiedLine);
while (mdMatch !== null) {
// Replace it to correct html link.