(text: string)
| 159 | * 让 ReactMarkdown 能渲染为 <a>,再由 a 组件拦截点击。 |
| 160 | */ |
| 161 | export function inlineWikiRefs(text: string): string { |
| 162 | return normalizeBareSlugRefs(text).replace(WIKI_REF_RE, (full, target, anchor, alias) => { |
| 163 | const ref = parseWikiRef(target, anchor, alias); |
| 164 | const display = refDisplayText(ref); |
| 165 | const href = refToHref(ref); |
| 166 | // 把 display 里的 ] 转义掉,避免破坏 markdown 链接语法 |
| 167 | const safeDisplay = display.replace(/\]/g, "\\]"); |
| 168 | return `[${safeDisplay}](${href})`; |
| 169 | }); |
| 170 | } |
| 171 | |
| 172 | /** |
| 173 | * 编号引用:扫描文本数组(一条消息的所有 text parts),按首次出现顺序 |
no test coverage detected