test02/node_modules/markdown-it-anchor/dist/markdownItAnchor.mjs.map
罗佳鸿 6aa1ebe342
Some checks are pending
部署文档 / deploy-gh-pages (push) Waiting to run
first commit
2024-08-13 10:11:19 +08:00

1 line
19 KiB
Plaintext

{"version":3,"file":"markdownItAnchor.mjs","sources":["../permalink.js","../index.js"],"sourcesContent":["let emittedWarning = false\n\nconst position = {\n false: 'push',\n true: 'unshift',\n after: 'push',\n before: 'unshift'\n}\n\nconst permalinkSymbolMeta = {\n isPermalinkSymbol: true\n}\n\nexport function legacy (slug, opts, state, idx) {\n if (!emittedWarning) {\n const warningText = 'Using deprecated markdown-it-anchor permalink option, see https://github.com/valeriangalliat/markdown-it-anchor#permalinks'\n\n if (typeof process === 'object' && process && process.emitWarning) {\n process.emitWarning(warningText)\n } else {\n console.warn(warningText)\n }\n\n emittedWarning = true\n }\n\n const linkTokens = [\n Object.assign(new state.Token('link_open', 'a', 1), {\n attrs: [\n ...(opts.permalinkClass ? [['class', opts.permalinkClass]] : []),\n ['href', opts.permalinkHref(slug, state)],\n ...Object.entries(opts.permalinkAttrs(slug, state))\n ]\n }),\n Object.assign(new state.Token('html_block', '', 0), { content: opts.permalinkSymbol, meta: permalinkSymbolMeta }),\n new state.Token('link_close', 'a', -1)\n ]\n\n if (opts.permalinkSpace) {\n state.tokens[idx + 1].children[position[opts.permalinkBefore]](Object.assign(new state.Token('text', '', 0), { content: ' ' }))\n }\n\n state.tokens[idx + 1].children[position[opts.permalinkBefore]](...linkTokens)\n}\n\nexport function renderHref (slug) {\n return `#${slug}`\n}\n\nexport function renderAttrs (slug) {\n return {}\n}\n\nconst commonDefaults = {\n class: 'header-anchor',\n symbol: '#',\n renderHref,\n renderAttrs\n}\n\nexport function makePermalink (renderPermalinkImpl) {\n function renderPermalink (opts) {\n opts = Object.assign({}, renderPermalink.defaults, opts)\n\n return (slug, anchorOpts, state, idx) => {\n return renderPermalinkImpl(slug, opts, anchorOpts, state, idx)\n }\n }\n\n renderPermalink.defaults = Object.assign({}, commonDefaults)\n renderPermalink.renderPermalinkImpl = renderPermalinkImpl\n\n return renderPermalink\n}\n\nexport const linkInsideHeader = makePermalink((slug, opts, anchorOpts, state, idx) => {\n const linkTokens = [\n Object.assign(new state.Token('link_open', 'a', 1), {\n attrs: [\n ...(opts.class ? [['class', opts.class]] : []),\n ['href', opts.renderHref(slug, state)],\n ...(opts.ariaHidden ? [['aria-hidden', 'true']] : []),\n ...Object.entries(opts.renderAttrs(slug, state))\n ]\n }),\n Object.assign(new state.Token('html_inline', '', 0), { content: opts.symbol, meta: permalinkSymbolMeta }),\n new state.Token('link_close', 'a', -1)\n ]\n\n if (opts.space) {\n const space = typeof opts.space === 'string' ? opts.space : ' '\n const type = typeof opts.space === 'string' ? 'html_inline' : 'text'\n state.tokens[idx + 1].children[position[opts.placement]](Object.assign(new state.Token(type, '', 0), { content: space }))\n }\n\n state.tokens[idx + 1].children[position[opts.placement]](...linkTokens)\n})\n\nObject.assign(linkInsideHeader.defaults, {\n space: true,\n placement: 'after',\n ariaHidden: false\n})\n\nexport const ariaHidden = makePermalink(linkInsideHeader.renderPermalinkImpl)\n\nariaHidden.defaults = Object.assign({}, linkInsideHeader.defaults, {\n ariaHidden: true\n})\n\nexport const headerLink = makePermalink((slug, opts, anchorOpts, state, idx) => {\n const linkTokens = [\n Object.assign(new state.Token('link_open', 'a', 1), {\n attrs: [\n ...(opts.class ? [['class', opts.class]] : []),\n ['href', opts.renderHref(slug, state)],\n ...Object.entries(opts.renderAttrs(slug, state))\n ]\n }),\n ...(opts.safariReaderFix ? [new state.Token('span_open', 'span', 1)] : []),\n ...state.tokens[idx + 1].children,\n ...(opts.safariReaderFix ? [new state.Token('span_close', 'span', -1)] : []),\n new state.Token('link_close', 'a', -1)\n ]\n\n state.tokens[idx + 1] = Object.assign(new state.Token('inline', '', 0), {\n children: linkTokens\n })\n})\n\nObject.assign(headerLink.defaults, {\n safariReaderFix: false\n})\n\nexport const linkAfterHeader = makePermalink((slug, opts, anchorOpts, state, idx) => {\n if (!['visually-hidden', 'aria-label', 'aria-describedby', 'aria-labelledby'].includes(opts.style)) {\n throw new Error(`\\`permalink.linkAfterHeader\\` called with unknown style option \\`${opts.style}\\``)\n }\n\n if (!['aria-describedby', 'aria-labelledby'].includes(opts.style) && !opts.assistiveText) {\n throw new Error(`\\`permalink.linkAfterHeader\\` called without the \\`assistiveText\\` option in \\`${opts.style}\\` style`)\n }\n\n if (opts.style === 'visually-hidden' && !opts.visuallyHiddenClass) {\n throw new Error('`permalink.linkAfterHeader` called without the `visuallyHiddenClass` option in `visually-hidden` style')\n }\n\n const title = state.tokens[idx + 1]\n .children\n .filter(token => token.type === 'text' || token.type === 'code_inline')\n .reduce((acc, t) => acc + t.content, '')\n\n const subLinkTokens = []\n const linkAttrs = []\n\n if (opts.class) {\n linkAttrs.push(['class', opts.class])\n }\n\n linkAttrs.push(['href', opts.renderHref(slug, state)])\n linkAttrs.push(...Object.entries(opts.renderAttrs(slug, state)))\n\n if (opts.style === 'visually-hidden') {\n subLinkTokens.push(\n Object.assign(new state.Token('span_open', 'span', 1), {\n attrs: [['class', opts.visuallyHiddenClass]],\n }),\n Object.assign(new state.Token('text', '', 0), {\n content: opts.assistiveText(title)\n }),\n new state.Token('span_close', 'span', -1)\n )\n\n if (opts.space) {\n const space = typeof opts.space === 'string' ? opts.space : ' '\n const type = typeof opts.space === 'string' ? 'html_inline' : 'text'\n subLinkTokens[position[opts.placement]](Object.assign(new state.Token(type, '', 0), { content: space }))\n }\n\n subLinkTokens[position[opts.placement]](\n Object.assign(new state.Token('span_open', 'span', 1), {\n attrs: [['aria-hidden', 'true']],\n }),\n Object.assign(new state.Token('html_inline', '', 0), {\n content: opts.symbol,\n meta: permalinkSymbolMeta\n }),\n new state.Token('span_close', 'span', -1)\n )\n } else {\n subLinkTokens.push(\n Object.assign(new state.Token('html_inline', '', 0), {\n content: opts.symbol,\n meta: permalinkSymbolMeta\n })\n )\n }\n\n if (opts.style === 'aria-label') {\n linkAttrs.push(['aria-label', opts.assistiveText(title)])\n } else if (['aria-describedby', 'aria-labelledby'].includes(opts.style)) {\n linkAttrs.push([opts.style, slug])\n }\n\n const linkTokens = [\n Object.assign(new state.Token('link_open', 'a', 1), {\n attrs: linkAttrs\n }),\n ...subLinkTokens,\n new state.Token('link_close', 'a', -1),\n ]\n\n state.tokens.splice(idx + 3, 0, ...linkTokens)\n\n if (opts.wrapper) {\n state.tokens.splice(idx, 0, Object.assign(new state.Token('html_block', '', 0), {\n content: opts.wrapper[0] + '\\n'\n }))\n\n state.tokens.splice(idx + 3 + linkTokens.length + 1, 0, Object.assign(new state.Token('html_block', '', 0), {\n content: opts.wrapper[1] + '\\n'\n }))\n }\n})\n\nObject.assign(linkAfterHeader.defaults, {\n style: 'visually-hidden',\n space: true,\n placement: 'after',\n wrapper: null\n})\n","import * as permalink from './permalink'\n\nconst slugify = (s) => encodeURIComponent(String(s).trim().toLowerCase().replace(/\\s+/g, '-'))\n\nfunction getTokensText (tokens) {\n return tokens\n .filter(t => ['text', 'code_inline'].includes(t.type))\n .map(t => t.content)\n .join('')\n}\n\nfunction uniqueSlug (slug, slugs, failOnNonUnique, startIndex) {\n let uniq = slug\n let i = startIndex\n\n if (failOnNonUnique && Object.prototype.hasOwnProperty.call(slugs, uniq)) {\n throw new Error(`User defined \\`id\\` attribute \\`${slug}\\` is not unique. Please fix it in your Markdown to continue.`)\n } else {\n while (Object.prototype.hasOwnProperty.call(slugs, uniq)) {\n uniq = `${slug}-${i}`\n i += 1\n }\n }\n\n slugs[uniq] = true\n\n return uniq\n}\n\nconst isLevelSelectedNumber = selection => level => level >= selection\nconst isLevelSelectedArray = selection => level => selection.includes(level)\n\nfunction anchor (md, opts) {\n opts = Object.assign({}, anchor.defaults, opts)\n\n md.core.ruler.push('anchor', state => {\n const slugs = {}\n const tokens = state.tokens\n\n const isLevelSelected = Array.isArray(opts.level)\n ? isLevelSelectedArray(opts.level)\n : isLevelSelectedNumber(opts.level)\n\n for (let idx = 0; idx < tokens.length; idx++) {\n const token = tokens[idx]\n\n if (token.type !== 'heading_open') {\n continue\n }\n\n if (!isLevelSelected(Number(token.tag.substr(1)))) {\n continue\n }\n\n // Aggregate the next token children text.\n const title = opts.getTokensText(tokens[idx + 1].children)\n\n let slug = token.attrGet('id')\n\n if (slug == null) {\n slug = uniqueSlug(opts.slugify(title), slugs, false, opts.uniqueSlugStartIndex)\n } else {\n slug = uniqueSlug(slug, slugs, true, opts.uniqueSlugStartIndex)\n }\n\n token.attrSet('id', slug)\n\n if (opts.tabIndex !== false) {\n token.attrSet('tabindex', `${opts.tabIndex}`)\n }\n\n if (typeof opts.permalink === 'function') {\n opts.permalink(slug, opts, state, idx)\n } else if (opts.permalink) {\n opts.renderPermalink(slug, opts, state, idx)\n } else if (opts.renderPermalink && opts.renderPermalink !== permalink.legacy) {\n opts.renderPermalink(slug, opts, state, idx)\n }\n\n // A permalink renderer could modify the `tokens` array so\n // make sure to get the up-to-date index on each iteration.\n idx = tokens.indexOf(token)\n\n if (opts.callback) {\n opts.callback(token, { slug, title })\n }\n }\n })\n}\n\nanchor.permalink = permalink\n\nanchor.defaults = {\n level: 1,\n slugify,\n uniqueSlugStartIndex: 1,\n tabIndex: '-1',\n getTokensText,\n\n // Legacy options.\n permalink: false,\n renderPermalink: permalink.legacy,\n permalinkClass: permalink.ariaHidden.defaults.class,\n permalinkSpace: permalink.ariaHidden.defaults.space,\n permalinkSymbol: '¶',\n permalinkBefore: permalink.ariaHidden.defaults.placement === 'before',\n permalinkHref: permalink.ariaHidden.defaults.renderHref,\n permalinkAttrs: permalink.ariaHidden.defaults.renderAttrs\n}\n\n// Dirty hack to make `import anchor from 'markdown-it-anchor'` work with\n// TypeScript which doesn't support the `module` field of `package.json` and\n// will always get the CommonJS version which otherwise wouldn't have a\n// `default` key, resulting in markdown-it-anchor being undefined when being\n// imported that way.\nanchor.default = anchor\n\nexport default anchor\n"],"names":["emittedWarning","position","false","true","after","before","permalinkSymbolMeta","isPermalinkSymbol","legacy","slug","opts","state","idx","_state$tokens$childre","warningText","process","emitWarning","console","warn","linkTokens","Object","assign","Token","attrs","concat","permalinkClass","permalinkHref","entries","permalinkAttrs","content","permalinkSymbol","meta","permalinkSpace","tokens","children","permalinkBefore","apply","renderHref","renderAttrs","commonDefaults","class","symbol","makePermalink","renderPermalinkImpl","renderPermalink","defaults","anchorOpts","linkInsideHeader","_state$tokens$childre2","ariaHidden","space","placement","headerLink","safariReaderFix","linkAfterHeader","_state$tokens","includes","style","Error","assistiveText","visuallyHiddenClass","title","filter","token","type","reduce","acc","t","subLinkTokens","linkAttrs","push","splice","wrapper","length","uniqueSlug","slugs","failOnNonUnique","startIndex","uniq","i","prototype","hasOwnProperty","call","anchor","md","core","ruler","selection","isLevelSelected","Array","isArray","level","isLevelSelectedNumber","Number","tag","substr","getTokensText","attrGet","slugify","uniqueSlugStartIndex","attrSet","tabIndex","permalink","indexOf","callback","s","encodeURIComponent","String","trim","toLowerCase","replace","map","join"],"mappings":"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"}