{"version":3,"file":"remarkCustomFootnotes.mjs","names":[],"sources":["../../../src/Markdown/plugins/remarkCustomFootnotes.ts"],"sourcesContent":["import type { Node } from 'unist';\nimport { SKIP, visit } from 'unist-util-visit';\n\nexport interface FootnoteLink {\n  alt?: string;\n  title?: string;\n  url: string;\n}\n\nexport const remarkCustomFootnotes = () => (tree: any, file: any) => {\n  const footnoteLinks = new Map();\n\n  visit(tree, 'footnoteDefinition', (node) => {\n    let linkData: FootnoteLink | null = null;\n\n    // 查找第一个link类型的子节点\n    visit(node, 'link', (linkNode) => {\n      if (linkData) return SKIP; // 只取第一个链接\n\n      // 提取链接文本\n      const textNode = linkNode.children.find((n: Node) => n.type === 'text');\n\n      linkData = {\n        alt: textNode?.value || '',\n        title: textNode?.value || '',\n        url: linkNode.url, // 或者根据需求处理\n      };\n\n      return SKIP; // 找到后停止遍历\n    });\n\n    if (linkData) {\n      footnoteLinks.set(node.identifier, linkData);\n    }\n  });\n\n  // 将数据存入文件上下文\n  file.data.footnoteLinks = Object.fromEntries(footnoteLinks);\n};\n"],"mappings":";;;AASA,MAAa,+BAA+B,MAAW,SAAc;CACnE,MAAM,gCAAgB,IAAI,KAAK;AAE/B,OAAM,MAAM,uBAAuB,SAAS;EAC1C,IAAI,WAAgC;AAGpC,QAAM,MAAM,SAAS,aAAa;AAChC,OAAI,SAAU,QAAO;GAGrB,MAAM,WAAW,SAAS,SAAS,MAAM,MAAY,EAAE,SAAS,OAAO;AAEvE,cAAW;IACT,KAAK,UAAU,SAAS;IACxB,OAAO,UAAU,SAAS;IAC1B,KAAK,SAAS;IACf;AAED,UAAO;IACP;AAEF,MAAI,SACF,eAAc,IAAI,KAAK,YAAY,SAAS;GAE9C;AAGF,MAAK,KAAK,gBAAgB,OAAO,YAAY,cAAc"}