{"version":3,"sources":["jsdelivr-header.js","/npm/vite-plugin-markdown-to-js@0.1.15/index.js"],"names":[],"mappings":"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","file":"/npm/vite-plugin-markdown-to-js@0.1.15/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vite-plugin-markdown-to-js@0.1.15/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: \"Module\" } });\nconst chunk = require(\"./chunk-DdDXQBNn.js\");\nconst jsYaml = require(\"js-yaml\");\nconst optionalByteOrderMark = \"\\\\ufeff?\";\nconst platform = typeof process !== \"undefined\" ? process.platform : \"\";\nconst pattern = \"^(\" + optionalByteOrderMark + \"(= yaml =|---)$([\\\\s\\\\S]*?)^(?:\\\\2|\\\\.\\\\.\\\\.)\\\\s*$\" + (platform === \"win32\" ? \"\\\\r?\" : \"\") + \"(?:\\\\n)?)\";\nconst regex = new RegExp(pattern, \"m\");\nfunction parseMatter(string) {\n  string = string || \"\";\n  const lines = string.split(/(\\r?\\n)/);\n  if (lines[0] && /= yaml =|---/.test(lines[0])) {\n    return parse$1(string);\n  }\n  return {\n    attributes: {},\n    body: string,\n    bodyBegin: 1\n  };\n}\nfunction computeLocation(match, body) {\n  let line = 1;\n  let pos = body.indexOf(\"\\n\");\n  const offset = match.index + match[0].length;\n  while (pos !== -1) {\n    if (pos >= offset) {\n      return line;\n    }\n    line++;\n    pos = body.indexOf(\"\\n\", pos + 1);\n  }\n  return line;\n}\nfunction parse$1(string) {\n  const match = regex.exec(string);\n  if (!match) {\n    return {\n      attributes: {},\n      body: string,\n      bodyBegin: 1\n    };\n  }\n  const yaml = match[match.length - 1].replace(/^\\s+|\\s+$/g, \"\");\n  const attributes = jsYaml.load(yaml) || {};\n  const body = string.replace(match[0], \"\");\n  const line = computeLocation(match, string);\n  return {\n    attributes,\n    body,\n    bodyBegin: line,\n    frontmatter: yaml\n  };\n}\nfunction parse(raw, transforms, path, markedOptions) {\n  const { attributes: matter, body } = parseMatter(raw);\n  const tokens = chunk.marked.lexer(body);\n  const html = [];\n  const style = [];\n  const script = [];\n  const scriptFn = [];\n  transforms?.forEach((tms) => {\n    if (tms.tokenize) {\n      tms.tokenize(tokens);\n    }\n  });\n  tokens.forEach((token) => {\n    if (token.type === \"space\") return;\n    if (token.type !== \"code\" || !transforms) {\n      html.push({ type: \"html\", code: token.raw });\n      return;\n    }\n    const transform = transforms.find((t) => t.lang === token.lang);\n    if (!transform) {\n      html.push({ type: \"html\", code: token.raw });\n      return;\n    }\n    const transformed = transform.transform(token.text, token.raw, { matter, path });\n    transformed.flat(2).forEach((td) => {\n      if (td.type !== \"script\") {\n        (td.type === \"style\" ? style : html).push(td);\n        return;\n      }\n      (typeof td.code === \"function\" ? scriptFn : script).push(td);\n    });\n  });\n  if (markedOptions) {\n    chunk.marked.setOptions(markedOptions);\n  }\n  const getAttrs = (...args) => (args.flat(2).find((i) => i.attrs) || {}).attrs || \"\";\n  return {\n    script: `<script${getAttrs(script, scriptFn)}>\n` + [...script.map((i) => i.code), ...scriptFn.map((i) => i.code(script, html))].join(\"\\n\") + `\n<\\/script>`,\n    // comes last so that it can be modified by script\n    html: html.map((i) => {\n      if (!i.code) return \"\";\n      if (i.skipCompile) return i.code;\n      const ret = chunk.marked(i.code);\n      return i.transform ? i.transform(ret) : ret;\n    }).join(\"\"),\n    style: style.length ? `<style${getAttrs(style)}>\n${style.map((s) => s.code).join(\"\\n\")}\n</style>` : void 0,\n    matter\n  };\n}\nconst rSplit = /[\\n\\s,]/;\nconst rExt = /\\.\\w+$/;\nfunction getComponentName(str) {\n  if (!str) return \"\";\n  const words = str.replace(/[^a-zA-Z0-9]/g, \"\");\n  if (!words) return \"\";\n  return `Mtj${words[0].toUpperCase() + words.slice(1)}`;\n}\nfunction transformImports({\n  base\n} = {}) {\n  const baseFn = (() => {\n    if (typeof base === \"function\") return base;\n    if (typeof base === \"string\") {\n      if (base && !base.endsWith(\"/\")) {\n        base = `${base}/`;\n      }\n      return (path) => `${base || \"\"}${path}`;\n    }\n    return (path) => path;\n  })();\n  return {\n    lang: \"imports\",\n    transform(src) {\n      const imports = Array.from(new Set(src.split(rSplit).filter((i) => i)));\n      const importNames = imports.map(getComponentName);\n      return [\n        {\n          type: \"imports\",\n          imports: importNames,\n          code: \"\"\n        },\n        {\n          type: \"script\",\n          imports: importNames,\n          code: imports.map((i, index) => {\n            const path = baseFn(`${i}${rExt.test(i) ? \"\" : \".md\"}`);\n            return `import ${importNames[index]} from \"${path}\";`;\n          }).join(\"\\n\")\n        }\n      ];\n    }\n  };\n}\nconst tagOpeningRe = /\\<((?:[a-z]+)(?:-[a-z]+)?)\\s?/;\nfunction parseTag(content, tag) {\n  const matcher = {\n    openingRe: new RegExp(`\\\\<${tag}([\\\\s\\\\S]*?)\\\\>`),\n    closingRe: new RegExp(`\\\\<\\\\/${tag}\\\\>`)\n  };\n  let remaining = content;\n  let pointer = -1;\n  let indics = [];\n  let attrs = \"\";\n  while (remaining) {\n    const opening = matcher.openingRe.exec(remaining);\n    if (pointer < 0) {\n      if (!opening) return null;\n      pointer += 1;\n      indics[0] = opening.index + opening[0].length;\n      attrs = opening[1];\n      remaining = remaining.slice(opening.index + opening[0].length);\n      continue;\n    }\n    if (opening && !matcher.closingRe.test(remaining.slice(0, opening.index))) {\n      pointer += 1;\n      remaining = remaining.slice(opening.index + opening[0].length);\n      continue;\n    } else {\n      const closing = matcher.closingRe.exec(remaining);\n      if (!closing) return null;\n      pointer -= 1;\n      remaining = remaining.slice(closing.index + closing[0].length);\n      if (pointer === -1) {\n        indics[1] = content.length - remaining.length - closing[0].length;\n        break;\n      }\n    }\n  }\n  return {\n    code: content.slice(...indics),\n    tag,\n    attrs,\n    remaining\n  };\n}\nfunction parseSFC(raw) {\n  const fn = (raw2, ret2 = []) => {\n    const group = tagOpeningRe.exec(raw2);\n    if (!group || !group[1]) return [];\n    const block = parseTag(raw2, group[1]);\n    if (block) {\n      ret2.push({\n        tag: block.tag,\n        code: block.code,\n        attrs: block.attrs\n      });\n      if (block.remaining) {\n        fn(block.remaining, ret2);\n      }\n    }\n    return ret2;\n  };\n  const blocks = fn(raw);\n  const ret = {};\n  blocks.forEach((i) => {\n    if (!ret[i.tag]) {\n      const attrs = i.attrs.trim();\n      ret[i.tag] = {\n        tag: i.tag,\n        attrs: attrs ? ` ${attrs}` : \"\",\n        code: \"\"\n      };\n    }\n    ret[i.tag].code = ret[i.tag].code + \"\\n\" + i.code.trim();\n  });\n  return Object.values(ret);\n}\nconst defaultRenders = {\n  template: (code) => code.trim(),\n  style: (code) => code.trim(),\n  script: (code, { imports, setup }) => {\n    code = code.trim();\n    if (setup) return code;\n    if (!code) {\n      return `export default { components: { ${imports || \"\"} } };`;\n    }\n    return code.replace(\"export default {\", `export default {\n components: { ${imports || \"\"} },`);\n  }\n};\nfunction transformVue(options = {}) {\n  return {\n    lang: \"vue\",\n    tokenize(tokens) {\n      if (!tokens.some((token) => token.type === \"code\" && token.lang === \"vue\")) {\n        tokens.push({ type: \"code\", lang: \"vue\", text: \"<script><\\/script>\", raw: \"\" });\n      }\n      return tokens;\n    },\n    transform(src, md, env) {\n      const renders = {\n        template: options.renders?.template || defaultRenders.template,\n        style: options.renders?.style || defaultRenders.style,\n        script: options.renders?.script || defaultRenders.script\n      };\n      const blocks = parseSFC(src);\n      const ret = [\n        {\n          type: \"html\",\n          code: md.replace(\"```vue\", \"```html\"),\n          transform: (source) => `<!-- langvue -->${source.replace(/^<pre>/, \"<pre v-pre>\")}<!-- endlangvue -->`\n        }\n      ];\n      if (!blocks.length) return ret;\n      const tags = blocks.reduce((map, i) => {\n        return {\n          ...map,\n          [i.tag]: { ...i }\n        };\n      }, {});\n      if (!tags.script) {\n        tags.script = {\n          tag: \"script\",\n          code: \"\",\n          attrs: \"\"\n        };\n      }\n      if (!tags.template) {\n        tags.template = {\n          tag: \"template\",\n          code: \"\",\n          attrs: \"\"\n        };\n      }\n      if (!tags.style) {\n        tags.style = {\n          tag: \"style\",\n          code: \"\",\n          attrs: \"\"\n        };\n      }\n      Object.keys(tags).forEach((key) => {\n        const tagName = key;\n        const block = tags[tagName];\n        const renderer = renders[tagName];\n        const setup = / setup/.test(block.attrs);\n        const code = tagName === \"script\" ? (scripts, html) => {\n          const imports = scripts.map((i) => i.imports || []).flat(2);\n          html.forEach((h) => {\n            if (h.type === \"imports\" && h.imports) {\n              h.type = \"html\";\n              h.skipCompile = true;\n              h.code = h.imports.map((i) => `<${i} />`).join(\"\");\n            }\n          });\n          return renderer(block.code, { imports, setup }, env);\n        } : renderer(block.code, {}, env);\n        ret.unshift({ type: tagName, attrs: block.attrs, code, skipCompile: true });\n      });\n      return ret;\n    }\n  };\n}\nfunction vitePluginMarkdownToJs(options) {\n  const transforms = options.transforms || [];\n  const render = options.render || ((output) => `export default ${JSON.stringify(output.html + output.style + output.script)};`);\n  function markdownToJs(raw, id) {\n    return render(parse(raw, transforms, id, options.markedOptions), { path: id, raw });\n  }\n  return {\n    name: \"vite-plugin-markdown-to-js\",\n    enforce: \"pre\",\n    transform(raw, id) {\n      if (id.endsWith(\".md\")) {\n        try {\n          return markdownToJs(raw, id);\n        } catch (e) {\n          console.error(e);\n        }\n      }\n    },\n    async handleHotUpdate(ctx) {\n      if (ctx.file.endsWith(\".md\")) {\n        const defaultRead = ctx.read;\n        ctx.read = async function() {\n          return markdownToJs(await defaultRead(), ctx.file);\n        };\n      }\n    }\n  };\n}\nexports.default = vitePluginMarkdownToJs;\nexports.parse = parse;\nexports.transformImports = transformImports;\nexports.transformVue = transformVue;\n"]}