mateclaw/mateclaw-ui
SuperCoderMan521 cb87569264 feat(wiki): make [n] citation markers clickable, linking to wiki pages (#305)
Backend (SourceEvidenceLedger):
- appendWikiSourceTable now normalizes existing source lines in-place to
  canonical "[N] Title - section - page N" format instead of skipping them
- Added replaceSourceLine helper that matches a full source line by regex
  and replaces it with the canonical form
- When source lines exist without a "来源:" header, automatically insert
  one so the frontend preprocessor can locate the source table

Frontend (useMarkdownRenderer):
- Added data-citation-index / data-citation-title to DOMPurify whitelist
- Added preprocessWikiCitations preprocessor: parses the canonical source
  table to build an index-to-title map, replaces [n] markers in the answer
  body with clickable <a> links, and wraps entire source-table rows so the
  full line is clickable
- Integrated into the render pipeline after wikilink substitution and
  before Marked parsing

Frontend (useGlobalWikilinkClick):
- Extended the click delegation selector to match both .wiki-link and
  .wiki-citation elements
- Title extraction falls back: data-citation-title || data-wiki-title

Tests: added three test cases for source-line normalization, idempotency,
and automatic header insertion
2026-06-21 09:58:41 +08:00
..
public feat(ui): add the xAI (Grok) provider brand icon 2026-05-18 10:01:05 +08:00
src feat(wiki): make [n] citation markers clickable, linking to wiki pages (#305) 2026-06-21 09:58:41 +08:00
test feat(ui): add agent binding search (#106) 2026-05-12 18:18:39 +08:00
.npmrc fix(ui-build): invoke node directly with heap flag + .npmrc fallback for workers 2026-05-10 21:17:09 +08:00
index.html feat(ui): design system upgrade — responsive layout, collapsible panels, and unified tokens 2026-04-10 18:14:23 +08:00
package-lock.json feat(wiki): make [n] citation markers clickable, linking to wiki pages (#305) 2026-06-21 09:58:41 +08:00
package.json chore: bump version to 1.6.0-SNAPSHOT 2026-06-06 20:50:40 +08:00
pnpm-lock.yaml feat(wiki): slug-first wikilink resolution and safe DOM postprocess 2026-05-28 08:16:56 +08:00
TEST_CASES.md fix(deploy): drop DASHSCOPE_API_KEY requirement so Docker boots with no LLM key configured (#99) 2026-05-11 20:44:31 +08:00
tsconfig.json Initial commit: MateClaw — Java + Vue 3 AI Assistant System 2026-04-04 19:03:49 +08:00
vite.config.ts fix(ui): pre-bundle echarts subpaths to stop dev-server 504 re-optimization 2026-05-17 21:15:15 +08:00
vitest.config.ts feat(wiki): slug-first wikilink resolution and safe DOM postprocess 2026-05-28 08:16:56 +08:00
yarn.lock feat(wiki): make [n] citation markers clickable, linking to wiki pages (#305) 2026-06-21 09:58:41 +08:00