mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 11:13:43 +08:00
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 |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| test | ||
| .npmrc | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| TEST_CASES.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
| yarn.lock | ||