fix(editor): 暗色 type 色值修正 + extractLang 小写化
- .dark .hljs-type/.hljs-title.class_ 由 #8839ef(紫) 改为 #f9e2af(黄), 与 spec 表、官方 @catppuccin/highlightjs、读者侧 highlight.css 三处对齐 - extractLang 加 toLowerCase,与后端 parse_fence_info(languages.rs:85)对齐, 避免大写语言名触发 lowlight Unknown language 抛错
This commit is contained in:
parent
4de48cd16c
commit
0adc6d8382
@ -14,6 +14,8 @@ describe('extractLang', () => {
|
||||
[' python ', 'python', '前后空格(trim)'],
|
||||
['', '', '空字符串'],
|
||||
[' ', '', '纯空格'],
|
||||
['PYTHON', 'python', '大写小写化(与后端对齐)'],
|
||||
['Python Runnable', 'python', '混合大小写'],
|
||||
])('%s → %s (%s)', (input, expected) => {
|
||||
expect(extractLang(input)).toBe(expected);
|
||||
});
|
||||
|
||||
@ -3,13 +3,15 @@ import { common, createLowlight } from 'lowlight';
|
||||
const base = createLowlight(common);
|
||||
|
||||
/**
|
||||
* 从完整 fence info string 提取语言名(首个 token)。
|
||||
* 从完整 fence info string 提取语言名(首个 token,小写化)。
|
||||
*
|
||||
* 与后端 parse_fence_info(src/api/code_runner/languages.rs:80)对齐:
|
||||
* info string 形如 `python runnable {"timeout_secs":10}`,语言是首个空白分隔的 token。
|
||||
* 与后端 parse_fence_info(src/api/code_runner/languages.rs:85)对齐:
|
||||
* info string 形如 `python runnable {"timeout_secs":10}`,语言是首个空白分隔的 token,
|
||||
* 再 to_lowercase(lowlight 注册名均为小写,大写会导致 Unknown language 抛错)。
|
||||
*/
|
||||
export function extractLang(info: string): string {
|
||||
return info.trim().split(/\s+/)[0] || '';
|
||||
const first = info.trim().split(/\s+/)[0];
|
||||
return first ? first.toLowerCase() : '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -903,7 +903,7 @@
|
||||
}
|
||||
.dark .tiptap-editor pre code .hljs-type,
|
||||
.dark .tiptap-editor pre code .hljs-title.class_ {
|
||||
color: #8839ef;
|
||||
color: #f9e2af;
|
||||
}
|
||||
.dark .tiptap-editor pre code .hljs-built_in,
|
||||
.dark .tiptap-editor pre code .hljs-doctag {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user