chore: switch wording back to cj

Agent-Logs-Url: https://github.com/purocean/yn/sessions/703b9a8c-555d-4e96-ac90-fdb0a5991ce5
This commit is contained in:
copilot-swe-agent[bot]
2026-05-07 12:49:14 +00:00
committed by GitHub
parent e1af0ebe62
commit 84d130e111
10 changed files with 34 additions and 24 deletions
+1 -1
View File
@@ -131,8 +131,8 @@
"markdown-it": "^14.1.0",
"markdown-it-abbr": "^2.0.0",
"markdown-it-attributes": "^1.2.0",
"markdown-it-cj-friendly": "0.1.1",
"markdown-it-container": "^4.0.0",
"markdown-it-cjk-friendly": "2.0.2",
"markdown-it-emoji": "^3.0.0",
"markdown-it-github-alerts": "^0.3.0",
"markdown-it-mark": "^4.0.0",
+2 -3
View File
@@ -395,14 +395,13 @@ const schema: SettingSchema = ({
group: 'render',
required: true,
},
'render.md-cj-friendly': {
'render.md-cjk-friendly': {
defaultValue: false,
title: 'T_setting-panel.schema.render.md-cj-friendly',
title: 'T_setting-panel.schema.render.md-cjk-friendly',
type: 'boolean',
format: 'checkbox',
group: 'render',
required: true,
needReloadWindowWhenChanged: true,
},
'render.text-autospace': {
defaultValue: false,
+9 -7
View File
@@ -100,13 +100,15 @@ test('tokenize and normalize rules attach source, tokens, and line marks to env'
expect(env.eMarks[0]).toBe(7)
})
test('cjk friendly plugin is only applied when the render setting is enabled at startup', async () => {
const src = '**该星号不会被识别,而是直接显示。**这是因为它没有被识别为强调符号。'
test('cjk friendly plugin can be toggled at render time', async () => {
const src = '**这应该被识别为强调。**这是后续文本。'
const { markdown } = await loadMarkdown()
const { markdown: plainMarkdown } = await loadMarkdown()
expect(plainMarkdown.renderInline(src)).toBe(src)
expect(markdown.renderInline(src)).toBe(src)
mocks.settings.set('render.md-cj-friendly', true)
const { markdown: cjFriendlyMarkdown } = await loadMarkdown()
expect(cjFriendlyMarkdown.renderInline(src)).toContain('<strong>该星号不会被识别,而是直接显示。</strong>')
mocks.settings.set('render.md-cjk-friendly', true)
expect(markdown.renderInline(src)).toContain('<strong>这应该被识别为强调。</strong>')
mocks.settings.set('render.md-cjk-friendly', false)
expect(markdown.renderInline(src)).toBe(src)
})
+6 -4
View File
@@ -4,7 +4,7 @@ import MarkdownItSup from 'markdown-it-sup'
import MarkdownItMark from 'markdown-it-mark'
import MarkdownItAbbr from 'markdown-it-abbr'
import MarkdownItAttributes from 'markdown-it-attributes'
import MarkdownItCjFriendly from 'markdown-it-cj-friendly'
import MarkdownItCjkFriendly from 'markdown-it-cjk-friendly'
import MarkdownItMultimdTable from 'markdown-it-multimd-table'
import { triggerHook } from '@fe/core/hook'
import { HELP_REPO_NAME } from '@fe/support/args'
@@ -17,6 +17,10 @@ import { RULE_NAME as HASHTAG_RULE_NAME } from '@fe/plugins/markdown-hashtags/li
* Markdown-it instance
*/
export const markdown = Markdown({ linkify: true, breaks: true, html: true })
const defaultInlineState = markdown.inline.State
MarkdownItCjkFriendly(markdown)
const cjkFriendlyInlineState = markdown.inline.State
markdown.inline.State = defaultInlineState
/**
* Register a Markdown-it plugin.
@@ -35,6 +39,7 @@ markdown.render = (src: string, env: RenderEnv) => {
markdown.options.breaks = getSetting('render.md-breaks', true)
markdown.options.linkify = getSetting('render.md-linkify', true)
markdown.options.typographer = getSetting('render.md-typographer', false)
markdown.inline.State = getSetting('render.md-cjk-friendly', false) ? cjkFriendlyInlineState : defaultInlineState
const enabledRules: string[] = []
const disabledRules: string[] = []
@@ -55,9 +60,6 @@ markdown.use(MarkdownItSup)
markdown.use(MarkdownItMark)
markdown.use(MarkdownItAbbr)
markdown.use(MarkdownItAttributes)
if (getSetting('render.md-cj-friendly', false)) {
markdown.use(MarkdownItCjFriendly)
}
markdown.use(MarkdownItMultimdTable, {
multiline: getSetting('render.multimd-multiline', true),
rowspan: getSetting('render.multimd-rowspan', false),
+1 -1
View File
@@ -447,7 +447,7 @@ export interface BuildInSettings {
'render.md-emoji': boolean,
'render.md-sub': boolean,
'render.md-sup': boolean,
'render.md-cj-friendly': boolean,
'render.md-cjk-friendly': boolean,
'render.multimd-multiline': boolean,
'render.multimd-rowspan': boolean,
'render.multimd-headerless': boolean,
+1 -1
View File
@@ -443,7 +443,7 @@ const data = {
'md-typographer': 'Enable some language-neutral replacement + quotes beautification',
'md-sup': 'Enable sup syntax: 29^th^',
'md-sub': 'Enable sub syntax: H~2~O',
'md-cj-friendly': 'Enable CJK-friendly emphasis parsing',
'md-cjk-friendly': 'Enable CJK-friendly emphasis parsing',
'md-emoji': 'Enable emoji syntax: :smile:',
'list-collapsible': 'Enable collapsible lists - Click to collapse/expand nested lists',
'multimd-multiline': '[markdown-it-multimd-table]: Enable multiline syntax',
+1 -1
View File
@@ -444,7 +444,7 @@ const data: BaseLanguage = {
'md-typographer': 'Включите некоторые языковые замены + улучшение кавычек',
'md-sup': 'Включить надстрочный синтаксис: 29^th^',
'md-sub': 'Включить подстрочный синтаксис: H~2~O',
'md-cj-friendly': 'Включить CJK-совместимый разбор выделения',
'md-cjk-friendly': 'Включить CJK-совместимый разбор выделения',
'md-emoji': 'Включите синтаксис эмодзи: :smile:',
'list-collapsible': 'Включить складывание списков - Нажмите, чтобы свернуть/развернуть вложенные списки',
'multimd-multiline': 'Включить многострочный синтаксис [multimd]:',
+1 -1
View File
@@ -434,7 +434,7 @@ const data: BaseLanguage = {
'md-typographer': '启用排版美化,如 (c) -> ©',
'md-sup': '启用上标语法: 29^th^',
'md-sub': '启用下标语法: H~2~O',
'md-cj-friendly': '启用 CJK 友好的强调解析',
'md-cjk-friendly': '启用 CJK 友好的强调解析',
'md-emoji': '启用 Emoji 语法: :smile:',
'list-collapsible': '启用列表折叠 - 点击折叠/展开嵌套列表',
'multimd-multiline': '[markdown-it-multimd-table]: 启用 multiline 语法',
+1 -1
View File
@@ -434,7 +434,7 @@ const data: BaseLanguage = {
'md-typographer': '啟用排版美化,如 (c) -> ©',
'md-sup': '啟用上標語法: 29^th^',
'md-sub': '啟用下標語法: H~2~O',
'md-cj-friendly': '啟用 CJK 友好的強調解析',
'md-cjk-friendly': '啟用 CJK 友好的強調解析',
'md-emoji': '啟用 Emoji 語法: :smile:',
'list-collapsible': '啟用列表折疊 - 點擊折疊/展開嵌套列表',
'multimd-multiline': '[markdown-it-multimd-table]: 啟用 multiline 語法',
+11 -4
View File
@@ -5079,6 +5079,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-east-asian-width@^1.4.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz#ce7008fe345edcf5497a6f557cfa54bc318a9ce7"
integrity sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==
get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
@@ -6720,10 +6725,12 @@ markdown-it-attributes@^1.2.0:
resolved "https://registry.yarnpkg.com/markdown-it-attributes/-/markdown-it-attributes-1.2.0.tgz#1f3403fb7bd510c6ca4eeaa58c4106313f643234"
integrity sha512-FDdqndq26KbWrO9ymFz7JyhnxXMP4vmPek7iAMNuQlfvgxO7zeAU8JfARzqcUYBiqsTc+H7wa9ybhIZVKAAWug==
markdown-it-cj-friendly@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/markdown-it-cj-friendly/-/markdown-it-cj-friendly-0.1.1.tgz#d255d2621f1b17c17b6329f9b824e6443d43d279"
integrity sha512-2zD9UltBqLJppIdtWpmslEygOQ4kRLgdznRHVzVJiAfFurUWEQ5UUyN+wD5ZJzZtiLit6MaRpnw20boRFwEeFQ==
markdown-it-cjk-friendly@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/markdown-it-cjk-friendly/-/markdown-it-cjk-friendly-2.0.2.tgz#4397a33c822334fb4e3c17010410b3394478c9b0"
integrity sha512-KXCl6sd129UqkAiRDb+NcAHrxC9xRa2WsGIsMMvtp2y1YlbeIaNYzArX2zfDoGhOjsyNMfJrGO7xGBss27YQSA==
dependencies:
get-east-asian-width "^1.4.0"
markdown-it-container@^4.0.0:
version "4.0.0"