提交 d2eaf8d1 编写于 作者: D DCloud_LXH

fix: add-base-to-md.js

上级 1d3b2208
...@@ -3,12 +3,14 @@ module.exports = function (md, { base = '/' }) { ...@@ -3,12 +3,14 @@ module.exports = function (md, { base = '/' }) {
md.core.ruler.after('inline', 'add-base-to-md', function (state) { md.core.ruler.after('inline', 'add-base-to-md', function (state) {
state.tokens.forEach(function (blockToken) { state.tokens.forEach(function (blockToken) {
if (blockToken.type === 'inline' && blockToken.content && blockToken.children && blockToken.children.length) { 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) { blockToken.children.forEach(function (inlineToken) {
if (inlineToken.type === 'link_open' && inlineToken.attrs && inlineToken.attrs.length) { if (inlineToken.type === 'link_open' && inlineToken.attrs && inlineToken.attrs.length) {
inlineToken.attrs.forEach(function (attr) { inlineToken.attrs.forEach(function (attr) {
if (attr[0] === 'href' && attr[1].indexOf('/') === 0 && attr[1].indexOf(base) !== 0) { if (attr[0] === 'href') {
attr[1] = base + attr[1].slice(1) // /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]
} }
}); });
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册