{"version":3,"sources":["jsdelivr-header.js","/npm/mdsvex-excerpt@0.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,UAAa,mBAEtB,MAAM,gBACJ,8FAEa,SAAS,cAAc,EAAU,CAAC,GAC/C,MAAM,cACJ,EAAgB,OAAM,cACtB,EAAgB,8BAA6B,YAC7C,EAAc,qBACZ,EAEE,EAAa,YAAY,WAAuB,QAEtD,OAAO,SAAmB,GACxB,IAAI,GAAyB,EAqB7B,GAFA,MAAM,EAAM,CAAC,SAdb,SAAiB,GAEb,GACc,SAAd,EAAK,MACL,EAAK,QAAU,IAKjB,GAAyB,EACzB,EAAK,MAAQ,IAAI,KACnB,KAKK,EACH,OAGF,EAAK,SAAS,KAAK,CACjB,KAAM,OACN,MAAO,KAAK,OAGd,IAAI,GAAY,EAGhB,MAAM,EAAM,QAAS,KACd,GAAa,gBAAgB,KAAK,EAAK,SAC1C,GAAY,EACZ,EAAK,MAAQ,EAAK,MAAM,QAAQ,iBAAkB,GACzC,GAAG,IAAiB,MAE/B,IAGG,GACH,EAAK,SAAS,KAAK,CACjB,KAAM,OACN,MAAO,WAAW,eAGxB,CACF","file":"/npm/mdsvex-excerpt@0.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/mdsvex-excerpt@0.1.1/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","import { visit } from \"unist-util-visit\";\n\nconst RE_SCRIPT_START =\n  /<script(?:\\s+?[a-zA-z]+(=(?:[\"']){0,1}[a-zA-Z0-9]+(?:[\"']){0,1}){0,1})*\\s*?>/;\n\nexport default function remarkExcerpt(options = {}) {\n  const {\n    componentName = \"More\",\n    componentPath = \"$lib/components/More.svelte\",\n    excerptMark = \"<!--more-->\",\n  } = options;\n\n  const importMore = `\\nimport ${componentName} from \"${componentPath}\";\\n`;\n\n  return function transform(tree) {\n    let foundExcerptTerminator = false;\n\n    /**\n     * @param {import('unist').Node} node\n     */\n    function visitor(node) {\n      if (\n        foundExcerptTerminator ||\n        node.type !== \"html\" ||\n        node.value !== excerptMark\n      ) {\n        return;\n      }\n\n      foundExcerptTerminator = true;\n      node.value = `<${componentName}>`;\n    }\n\n    // find and replace <!--more-->\n    visit(tree, [\"html\"], visitor);\n\n    if (!foundExcerptTerminator) {\n      return;\n    }\n\n    tree.children.push({\n      type: \"html\",\n      value: `</${componentName}>`,\n    });\n\n    let is_script = false;\n\n    // append scripts or make a new one\n    visit(tree, \"html\", (node) => {\n      if (!is_script && RE_SCRIPT_START.test(node.value)) {\n        is_script = true;\n        node.value = node.value.replace(RE_SCRIPT_START, (existingScript) => {\n          return `${existingScript}${importMore}`;\n        });\n      }\n    });\n\n    if (!is_script) {\n      tree.children.push({\n        type: \"html\",\n        value: `<script>${importMore}</script>`,\n      });\n    }\n  };\n}\n"]}