Markdown-it Levels Bug

node v8.17.0
version: 1.0.0
endpointsharetweet
const md = require('markdown-it')(); md.core.ruler.push('buggy_levels', (state) => { const blockTokens = state.tokens; for (let j = 0, l = blockTokens.length; j < l; j++) { if ( !(blockTokens[j].type === 'inline' && blockTokens[j].content.includes('@')) ) { continue; } const tokens = blockTokens[j].children; console.log('LOOK AT LEVELS:', tokens.map((t) => [t.type, t.level])); for (let i = tokens.length - 1; i >= 0; --i) { if (tokens[i].type !== 'link_close') { continue; } const linkCloseToken = tokens[i]; const linkCloseIndex = i; do { --i; } while (!(tokens[i].level === linkCloseToken.level && tokens[i].type === 'link_open')); if (!tokens[i].attrGet('href').startsWith('mailto:')) { continue; } console.log('NO BUG ANYMORE!'); } } }); const input = '[AA homer.j.simpson@example.com BB](mailto:homer.j.simpson@example.com)'; console.log(md.render(input));
Loading…

no comments

    sign in to comment