diff --git a/docs/.vuepress/markdown/add-base-to-md.js b/docs/.vuepress/markdown/add-base-to-md.js index 23498f4363d6f30f99078620c7e6369091f408d0..f6839fd80ad10b64e9f16349a136e2c5c33931c2 100644 --- a/docs/.vuepress/markdown/add-base-to-md.js +++ b/docs/.vuepress/markdown/add-base-to-md.js @@ -3,12 +3,14 @@ module.exports = function (md, { base = '/' }) { md.core.ruler.after('inline', 'add-base-to-md', function (state) { state.tokens.forEach(function (blockToken) { if (blockToken.type === 'inline' && blockToken.content && blockToken.children && blockToken.children.length) { - if (blockToken.content.indexOf('](/') > -1) { + if (blockToken.content.indexOf('](') > -1) { blockToken.children.forEach(function (inlineToken) { if (inlineToken.type === 'link_open' && inlineToken.attrs && inlineToken.attrs.length) { inlineToken.attrs.forEach(function (attr) { - if (attr[0] === 'href' && attr[1].indexOf('/') === 0 && attr[1].indexOf(base) !== 0) { - attr[1] = base + attr[1].slice(1) + if (attr[0] === 'href') { + // /abc/def.md => ${base}/abc/def.md + if (attr[1].indexOf('/') === 0 && attr[1].indexOf(base) !== 0) attr[1] = base + attr[1].slice(1) + if (/^\w/.test(attr[1])) attr[1] = './' + attr[1] } }); }