|
|
@ -6,7 +6,6 @@ |
|
|
|
|
|
|
|
|
|
|
|
var arrayReplaceAt = require('../common/utils').arrayReplaceAt; |
|
|
|
var normalizeLink = require('../common/utils').normalizeLink; |
|
|
|
|
|
|
|
|
|
|
|
function isLinkOpen(str) { |
|
|
@ -18,7 +17,7 @@ function isLinkClose(str) { |
|
|
|
|
|
|
|
|
|
|
|
module.exports = function linkify(state) { |
|
|
|
var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos, level, htmlLinkLevel, |
|
|
|
var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos, level, htmlLinkLevel, url, fullUrl, |
|
|
|
blockTokens = state.tokens, |
|
|
|
links; |
|
|
|
|
|
|
@ -71,7 +70,9 @@ module.exports = function linkify(state) { |
|
|
|
|
|
|
|
for (ln = 0; ln < links.length; ln++) { |
|
|
|
|
|
|
|
if (!state.md.validateLink(links[ln].url)) { continue; } |
|
|
|
url = links[ln].url; |
|
|
|
fullUrl = state.md.normalizeLink(url); |
|
|
|
if (!state.md.validateLink(fullUrl)) { continue; } |
|
|
|
|
|
|
|
pos = links[ln].index; |
|
|
|
|
|
|
@ -83,12 +84,12 @@ module.exports = function linkify(state) { |
|
|
|
} |
|
|
|
|
|
|
|
token = new state.Token('link_open', 'a', 1); |
|
|
|
token.attrs = [ [ 'href', normalizeLink(links[ln].url) ] ]; |
|
|
|
token.attrs = [ [ 'href', fullUrl ] ]; |
|
|
|
token.level = level++; |
|
|
|
nodes.push(token); |
|
|
|
|
|
|
|
token = new state.Token('text', '', 0); |
|
|
|
token.content = links[ln].text; |
|
|
|
token.content = state.md.normalizeLinkText(links[ln].text); |
|
|
|
token.level = level; |
|
|
|
nodes.push(token); |
|
|
|
|
|
|
|