[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"doc-\u002Fzh-Hans\u002Fcmtx\u002Fapi\u002Fcore-API-image\u002F":3},"\u003Ch1 id=\"%40cmtx%2Fcore---%E5%9B%BE%E7%89%87%E6%A8%A1%E5%9D%97\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#%40cmtx%2Fcore---%E5%9B%BE%E7%89%87%E6%A8%A1%E5%9D%97\">#\u003C\u002Fa> @cmtx\u002Fcore - 图片模块\u003C\u002Fh1>\n\u003Cblockquote>\n\u003Cp>Markdown 图片处理核心库的图片模块，提供纯文本层的图片筛选、解析、替换、格式化和尺寸调整功能。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cdiv class=\"container-warning\">\n\u003Cp>CMTX 仍处于活跃开发阶段，API 可能随版本迭代发生变化。如有疑问或发现文档错误，欢迎通过 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcc01cc\u002Fcmtx-project\u002Fissues\">GitHub Issues\u003C\u002Fa> 反馈。\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"1.-%E5%AE%89%E8%A3%85\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#1.-%E5%AE%89%E8%A3%85\">#\u003C\u002Fa> 1. 安装\u003C\u002Fh2>\n\u003Cpre data-lang=\"bash\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">pnpm\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> add\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> @cmtx\u002Fcore\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B\">#\u003C\u002Fa> 2. 快速开始\u003C\u002Fh2>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">import\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  filterImages,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  parseImages,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  updateImageRefs,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  formatMarkdownImage,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">} \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">from\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '@cmtx\u002Fcore'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 1. 从 Markdown 中筛选本地图片\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> markdown\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '![alt](..\u002Fassets\u002Fexamples\u002Flocal.png) ![](https:\u002F\u002Fexample.com\u002Fimg.png)'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> localImages\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> filterImages\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(markdown, {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  mode: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'sourceType'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  value: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'local'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">})\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 2. 解析所有图片\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> allImages\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> parseImages\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(markdown)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 3. 替换图片路径和属性（多字段模式：通过 src 匹配，同时替换多个字段）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> result\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> updateImageRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(markdown, [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    field: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'src'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    pattern: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'..\u002Fassets\u002Fexamples\u002Flocal.png'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    newSrc: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'.\u002Fuploaded\u002Flocal.png'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    newAlt: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'上传后的图片'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    newTitle: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'点击查看大图'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  },\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">])\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 4. 格式化图片\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> mdImage\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> formatMarkdownImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">({ src: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'..\u002Fassets\u002Fexamples\u002Fimage.png'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, alt: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'描述'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> })\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"3.-%E5%9B%BE%E7%89%87%E7%AD%9B%E9%80%89\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.-%E5%9B%BE%E7%89%87%E7%AD%9B%E9%80%89\">#\u003C\u002Fa> 3. 图片筛选\u003C\u002Fh2>\n\u003Ch3 id=\"3.1.-filterimages\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.1.-filterimages\">#\u003C\u002Fa> 3.1. filterImages\u003C\u002Fh3>\n\u003Cp>从 Markdown 文本中筛选图片，支持多种过滤模式。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> filterImages\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  markdown\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ImageFilterOptions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ImageMatch\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[]\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>ImageFilterOptions\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">默认值\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>mode\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>ImageFilterMode\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">—\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">筛选模式\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>value\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>ImageFilterValue\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">—\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">筛选值，含义取决于 mode\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>logger?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>Logger\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">—\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">可选的日志记录器\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Ccode>ImageFilterMode\u003C\u002Fcode>：\u003Ccode>'sourceType' | 'hostname' | 'absolutePath' | 'regex'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Ccode>ImageFilterValue\u003C\u002Fcode>：\u003Ccode>string | RegExp\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>sourceType\u003C\u002Fcode> — 按图片来源筛选（\u003Ccode>'web'\u003C\u002Fcode> \u002F \u003Ccode>'local'\u003C\u002Fcode>）\u003C\u002Fli>\n\u003Cli>\u003Ccode>hostname\u003C\u002Fcode> — 按 Web 图片的主机名筛选\u003C\u002Fli>\n\u003Cli>\u003Ccode>absolutePath\u003C\u002Fcode> — 按本地图片的路径筛选\u003C\u002Fli>\n\u003Cli>\u003Ccode>regex\u003C\u002Fcode> — 按正则表达式匹配 src 字段\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"%E8%BF%94%E5%9B%9E%E5%80%BC\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#%E8%BF%94%E5%9B%9E%E5%80%BC\">#\u003C\u002Fa> 返回值\u003C\u002Fh4>\n\u003Cp>\u003Ccode>ImageMatch[]\u003C\u002Fcode> — 匹配到的图片数组，每个结果包含解析后的图片信息。\u003C\u002Fp>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">interface\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ImageMatch\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">  \u002F\u002F 继承自 FileRef\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  type\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'local'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'web'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  src\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  raw\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  syntax\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'md'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'html'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  refType\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'image'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'link'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'media'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'other'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  text\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  title\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">  \u002F\u002F ImageMatch 自有字段\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  alt\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  width\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  height\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"4.-%E5%9B%BE%E7%89%87%E8%A7%A3%E6%9E%90\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.-%E5%9B%BE%E7%89%87%E8%A7%A3%E6%9E%90\">#\u003C\u002Fa> 4. 图片解析\u003C\u002Fh2>\n\u003Ch3 id=\"4.1.-parseimages\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.1.-parseimages\">#\u003C\u002Fa> 4.1. parseImages\u003C\u002Fh3>\n\u003Cp>解析 Markdown 文本中的所有图片引用（同时支持 Markdown 内联语法和 HTML img 标签）。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> parseImages\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">text\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ParsedImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[]\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>ParsedImage\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>src\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">图片 URL 或路径\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>alt?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替代文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>title?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">标题文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>raw\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">原始匹配文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>syntax\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>'md' | 'html'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">图片语法类型\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>width?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">宽度（仅 HTML 图片）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>height?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">高度（仅 HTML 图片）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2 id=\"5.-%E5%9B%BE%E7%89%87%E6%9B%BF%E6%8D%A2\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.-%E5%9B%BE%E7%89%87%E6%9B%BF%E6%8D%A2\">#\u003C\u002Fa> 5. 图片替换\u003C\u002Fh2>\n\u003Ch3 id=\"5.1.-updateimagerefs\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.1.-updateimagerefs\">#\u003C\u002Fa> 5.1. updateImageRefs\u003C\u002Fh3>\n\u003Cp>使用正则表达式批量替换图片的 src、alt、title 属性。支持多字段模式：通过 src 或 raw 识别图片，同时替换多个字段。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> updateImageRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">text\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ReplaceOptions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[])\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ReplaceResult\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>ReplaceOptions\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>field\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>'src' | 'raw'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">用于识别图片的字段（通过 src 或 raw 匹配）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>pattern\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string | RegExp\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">匹配模式（字符串或正则表达式）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newSrc?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换后的 src 值\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newAlt?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换后的 alt 值\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newTitle?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换后的 title 值\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 通过 src 匹配，同时替换多个字段\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> result\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> updateImageRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(markdown, [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    field: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'src'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    pattern: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'.\u002Fold.png'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    newSrc: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'.\u002Fnew.png'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    newAlt: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'新描述'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  },\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">])\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"5.2.-applyreplacementops\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.2.-applyreplacementops\">#\u003C\u002Fa> 5.2. applyReplacementOps\u003C\u002Fh3>\n\u003Cp>按偏移量批量替换文档内容。纯函数，按 offset 降序排序后从后向前替换，避免偏移量错位。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> applyReplacementOps\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">documentText\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ReplacementOp\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[])\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">参数\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>documentText\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">原始文档文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>options\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>ReplacementOp[]\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换操作数组\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Ccode>ReplacementOp\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>offset\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>number\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换在原文本中的起始位置\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>length\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>number\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">被替换文本的长度\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newText\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替换后的文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">import\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> { applyReplacementOps, \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">type\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> ReplacementOp } \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">from\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '@cmtx\u002Fcore'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> result\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> applyReplacementOps\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Hello World!\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  { offset: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">6\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, length: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">5\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, newText: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"TypeScript\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">])\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F => \"Hello TypeScript!\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"6.-%E5%9B%BE%E7%89%87%E6%A0%BC%E5%BC%8F%E5%8C%96\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.-%E5%9B%BE%E7%89%87%E6%A0%BC%E5%BC%8F%E5%8C%96\">#\u003C\u002Fa> 6. 图片格式化\u003C\u002Fh2>\n\u003Ch3 id=\"6.1.-formatmarkdownimage\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.1.-formatmarkdownimage\">#\u003C\u002Fa> 6.1. formatMarkdownImage\u003C\u002Fh3>\n\u003Cp>生成 Markdown 图片语法。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> formatMarkdownImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FormatMarkdownImageOptions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>FormatMarkdownImageOptions\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>src\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">图片 URL\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>alt?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替代文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>title?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">标题（显示在悬停时）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"6.2.-formathtmlimage\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.2.-formathtmlimage\">#\u003C\u002Fa> 6.2. formatHtmlImage\u003C\u002Fh3>\n\u003Cp>生成 HTML img 标签。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> formatHtmlImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FormatHtmlImageOptions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>FormatHtmlImageOptions\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>src\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">图片 URL\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>alt?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">替代文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>attributes?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>HtmlImageAttributes\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">标准 HTML img 属性（width\u002Fheight\u002Floading\u002Fdecoding\u002Fcrossorigin\u002Freferrerpolicy）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>extraAttributes?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>Record&lt;string, string&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">额外属性（class, id, style, data-*, title 等）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2 id=\"7.-%E5%9B%BE%E7%89%87%E5%B0%BA%E5%AF%B8%E8%B0%83%E6%95%B4\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#7.-%E5%9B%BE%E7%89%87%E5%B0%BA%E5%AF%B8%E8%B0%83%E6%95%B4\">#\u003C\u002Fa> 7. 图片尺寸调整\u003C\u002Fh2>\n\u003Cp>图片尺寸调整模块提供纯文本层的 HTML 属性设置和 Markdown 转 HTML 功能。\u003C\u002Fp>\n\u003Ch3 id=\"7.1.-setimagedimensions\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#7.1.-setimagedimensions\">#\u003C\u002Fa> 7.1. setImageDimensions\u003C\u002Fh3>\n\u003Cp>设置 HTML img 标签的 width \u002F height 属性，属性存在时替换，不存在时添加。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> setImageDimensions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">html\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">attrs\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">width\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">; \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">height\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> })\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">参数\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>html\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">包含 img 标签的 HTML 字符串\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>attrs\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>{ width?: string; height?: string }\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">要设置的尺寸属性\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 替换现有 width\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">setImageDimensions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'&#x3C;img src=\"..\u002Fassets\u002Fexamples\u002Ftest.png\" width=\"300\">'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, { width: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'500'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> })\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F => '&#x3C;img src=\"..\u002Fassets\u002Fexamples\u002Ftest.png\" width=\"500\">'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F 添加 height\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">setImageDimensions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'&#x3C;img src=\"..\u002Fassets\u002Fexamples\u002Ftest.png\" width=\"300\">'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, { width: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'500'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, height: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'400'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> })\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F => '&#x3C;img src=\"..\u002Fassets\u002Fexamples\u002Ftest.png\" width=\"500\" height=\"400\">'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"7.2.-tohtmlimage\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#7.2.-tohtmlimage\">#\u003C\u002Fa> 7.2. toHtmlImage\u003C\u002Fh3>\n\u003Cp>将 Markdown 图片语法转换为 HTML img 标签，支持自定义 HTML 属性。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> toHtmlImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  markdown\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">  attributes\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> Record\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">>,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">参数\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>markdown\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">Markdown 图片语法\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>attributes\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>Record&lt;string, string&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">可选的自定义属性\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cpre data-lang=\"typescript\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">toHtmlImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'![alt text](image.png)'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F '&#x3C;img src=\"image.png\" alt=\"alt text\">'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">toHtmlImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'![alt](image.png \"title\")'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F '&#x3C;img src=\"image.png\" alt=\"alt\" title=\"title\">'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">toHtmlImage\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'![alt](img.png)'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, { width: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'800'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, loading: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'lazy'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> })\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\u002F\u002F '&#x3C;img src=\"img.png\" alt=\"alt\" width=\"800\" loading=\"lazy\">'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"8.-%E6%96%87%E4%BB%B6%E5%BC%95%E7%94%A8-api\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.-%E6%96%87%E4%BB%B6%E5%BC%95%E7%94%A8-api\">#\u003C\u002Fa> 8. 文件引用 API\u003C\u002Fh2>\n\u003Cp>通用文件引用解析、筛选和替换。与图片 API 的区别：文件引用覆盖所有 Markdown\u002FHTML 中的外部资源引用（图片、链接、媒体等），不限于图片。\u003C\u002Fp>\n\u003Ch3 id=\"8.1.-parsefilerefs\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.1.-parsefilerefs\">#\u003C\u002Fa> 8.1. parseFileRefs\u003C\u002Fh3>\n\u003Cp>解析 Markdown\u002FHTML 文本中的所有文件引用。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> parseFileRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">text\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">refTypes\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FileRefType\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[] })\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FileRef\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[]\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">参数\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>text\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">Markdown\u002FHTML 文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>options?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>{ refTypes?: FileRefType[] }\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">按引用类型过滤\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Ccode>FileRef\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>type\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>'local' | 'web'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">来源类型\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>src\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">URL 或路径\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>raw\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">原始匹配文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>syntax\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>'md' | 'html'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">语法类型\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>refType\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>FileRefType\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">引用类型\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>text?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">链接文本\u002Falt 文本\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>title?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">标题\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Ccode>FileRefType\u003C\u002Fcode>：\u003Ccode>'image' | 'link' | 'media' | 'other'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3 id=\"8.2.-filterfilerefs\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.2.-filterfilerefs\">#\u003C\u002Fa> 8.2. filterFileRefs\u003C\u002Fh3>\n\u003Cp>解析并按条件筛选文件引用。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> filterFileRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">markdown\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">options\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">?:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FileRefFilterOptions\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FileRef\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[]\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>FileRefFilterOptions\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>mode\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>FileRefFilterMode\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">筛选模式\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>value\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>FileRefFilterValue\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">筛选值\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Ccode>FileRefFilterMode\u003C\u002Fcode>：\u003Ccode>'sourceType' | 'hostname' | 'absolutePath' | 'regex' | 'refType'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Ccode>FileRefFilterValue\u003C\u002Fcode>：\u003Ccode>string | RegExp | FileRefType | FileRefType[]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3 id=\"8.3.-replacefilerefs\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.3.-replacefilerefs\">#\u003C\u002Fa> 8.3. replaceFileRefs\u003C\u002Fh3>\n\u003Cp>按操作列表批量替换文件引用。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> replaceFileRefs\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">text\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">operations\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> FileRefReplaceOp\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">[])\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> ReplaceResult\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>FileRefReplaceOp\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth style=\"text-align:left\">属性\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">类型\u003C\u002Fth>\n\u003Cth style=\"text-align:left\">说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>field\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>'src' | 'raw'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">匹配字段\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>pattern\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string | RegExp\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">匹配模式\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>targetRefType\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>FileRefType\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">目标引用类型\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newSrc?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">新 src\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newText?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">新文本（alt\u002Ftext）\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd style=\"text-align:left\">\u003Ccode>newTitle?\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd style=\"text-align:left\">新 title\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"8.4.-iswebsource\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.4.-iswebsource\">#\u003C\u002Fa> 8.4. isWebSource\u003C\u002Fh3>\n\u003Cp>判断 URL 是否为远程 Web 来源。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> isWebSource\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209\">src\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> boolean\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"8.5.-file_ref_regex\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.5.-file_ref_regex\">#\u003C\u002Fa> 8.5. FILE_REF_REGEX\u003C\u002Fh3>\n\u003Cp>预定义的文件引用正则常量，用于匹配 Markdown\u002FHTML 中的文件引用。\u003C\u002Fp>\n\u003Cpre data-lang=\"ts\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> FILE_REF_REGEX\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">:\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> Record\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">string\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, \u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\">RegExp\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"9.-%E5%8F%82%E8%80%83\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#9.-%E5%8F%82%E8%80%83\">#\u003C\u002Fa> 9. 参考\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>源码：\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcc01cc\u002Fcmtx-project\u002Ftree\u002Fmain\u002Fpackages\u002Fcore\">GitHub - packages\u002Fcore\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n",1786290225035]