diff --git a/src/node/markdown/plugins/link.ts b/src/node/markdown/plugins/link.ts index e44c043a..eb23d298 100644 --- a/src/node/markdown/plugins/link.ts +++ b/src/node/markdown/plugins/link.ts @@ -5,7 +5,7 @@ import MarkdownIt from 'markdown-it' import { MarkdownRenderer } from '../markdown' import { URL } from 'url' -import { EXTERNAL_URL_RE } from '../../shared' +import { EXTERNAL_URL_RE, LOCALHOST_URL_RE } from '../../shared' const indexRE = /(^|.*\/)index.md(#?.*)$/i @@ -25,7 +25,7 @@ export const linkPlugin = ( token.attrSet(key, val) }) // catch localhost links as dead link - if (url.replace(EXTERNAL_URL_RE, '').startsWith('//localhost:')) { + if (LOCALHOST_URL_RE.test(url)) { pushLink(url) } } else if ( diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index a596e22b..56dbf130 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -4,7 +4,7 @@ import matter from 'gray-matter' import LRUCache from 'lru-cache' import { createMarkdownRenderer, MarkdownOptions } from './markdown/markdown' import { deeplyParseHeader } from './utils/parseHeader' -import { PageData, HeadConfig, EXTERNAL_URL_RE } from './shared' +import { PageData, HeadConfig, LOCALHOST_URL_RE } from './shared' import { slash } from './utils/slash' import chalk from 'chalk' import _debug from 'debug' @@ -104,7 +104,7 @@ export function createMarkdownToVueRenderFn( if (data.links) { const dir = path.dirname(file) for (let url of data.links) { - if (url.replace(EXTERNAL_URL_RE, '').startsWith('//localhost:')) { + if (LOCALHOST_URL_RE.test(url)) { recordDeadLink(url) continue } diff --git a/src/shared/shared.ts b/src/shared/shared.ts index ce83d83b..e4cd3169 100644 --- a/src/shared/shared.ts +++ b/src/shared/shared.ts @@ -10,6 +10,7 @@ export type { } from '../../types/shared' export const EXTERNAL_URL_RE = /:\/\/|\.(?!html|md)\w+$/i +export const LOCALHOST_URL_RE = /:\/\/localhost:/ // @ts-ignore export const inBrowser = typeof window !== 'undefined'