From db1c6676a13798ee57dbac429a1d5045b60356fb Mon Sep 17 00:00:00 2001 From: altaf-creator Date: Thu, 30 Apr 2026 22:01:53 +0800 Subject: quite a big commit --- .../markdown-it-14.1.0/lib/rules_inline/image.mjs | 138 --------------------- 1 file changed, 138 deletions(-) delete mode 100644 packages/markdown-it-14.1.0/lib/rules_inline/image.mjs (limited to 'packages/markdown-it-14.1.0/lib/rules_inline/image.mjs') diff --git a/packages/markdown-it-14.1.0/lib/rules_inline/image.mjs b/packages/markdown-it-14.1.0/lib/rules_inline/image.mjs deleted file mode 100644 index 32cbb31..0000000 --- a/packages/markdown-it-14.1.0/lib/rules_inline/image.mjs +++ /dev/null @@ -1,138 +0,0 @@ -// Process ![image]( "title") - -import { normalizeReference, isSpace } from '../common/utils.mjs' - -export default function image (state, silent) { - let code, content, label, pos, ref, res, title, start - let href = '' - const oldPos = state.pos - const max = state.posMax - - if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false } - if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false } - - const labelStart = state.pos + 2 - const labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false) - - // parser failed to find ']', so it's not a valid link - if (labelEnd < 0) { return false } - - pos = labelEnd + 1 - if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) { - // - // Inline link - // - - // [link]( "title" ) - // ^^ skipping these spaces - pos++ - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos) - if (!isSpace(code) && code !== 0x0A) { break } - } - if (pos >= max) { return false } - - // [link]( "title" ) - // ^^^^^^ parsing link destination - start = pos - res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax) - if (res.ok) { - href = state.md.normalizeLink(res.str) - if (state.md.validateLink(href)) { - pos = res.pos - } else { - href = '' - } - } - - // [link]( "title" ) - // ^^ skipping these spaces - start = pos - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos) - if (!isSpace(code) && code !== 0x0A) { break } - } - - // [link]( "title" ) - // ^^^^^^^ parsing link title - res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax) - if (pos < max && start !== pos && res.ok) { - title = res.str - pos = res.pos - - // [link]( "title" ) - // ^^ skipping these spaces - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos) - if (!isSpace(code) && code !== 0x0A) { break } - } - } else { - title = '' - } - - if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) { - state.pos = oldPos - return false - } - pos++ - } else { - // - // Link reference - // - if (typeof state.env.references === 'undefined') { return false } - - if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) { - start = pos + 1 - pos = state.md.helpers.parseLinkLabel(state, pos) - if (pos >= 0) { - label = state.src.slice(start, pos++) - } else { - pos = labelEnd + 1 - } - } else { - pos = labelEnd + 1 - } - - // covers label === '' and label === undefined - // (collapsed reference link and shortcut reference link respectively) - if (!label) { label = state.src.slice(labelStart, labelEnd) } - - ref = state.env.references[normalizeReference(label)] - if (!ref) { - state.pos = oldPos - return false - } - href = ref.href - title = ref.title - } - - // - // We found the end of the link, and know for a fact it's a valid link; - // so all that's left to do is to call tokenizer. - // - if (!silent) { - content = state.src.slice(labelStart, labelEnd) - - const tokens = [] - state.md.inline.parse( - content, - state.md, - state.env, - tokens - ) - - const token = state.push('image', 'img', 0) - const attrs = [['src', href], ['alt', '']] - token.attrs = attrs - token.children = tokens - token.content = content - - if (title) { - attrs.push(['title', title]) - } - } - - state.pos = pos - state.posMax = max - return true -} -- cgit v1.2.3