From 376eac8d25d29df211254b53bd7949e414e83327 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 10:51:02 +0000 Subject: [PATCH 1/2] Initial plan From ab97341bafba0a3380aebd155f6a759fd949ef28 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 10:58:01 +0000 Subject: [PATCH 2/2] fix: code review fixes - extract convertCssVarFormat to utils, fix typo, remove dead code Co-authored-by: CommanderXL <9695264+CommanderXL@users.noreply.github.com> --- example/app.ts | 1 - .../compiler/compile-base-css-variables-md.ts | 14 +---------- .../compile-components-css-variables-md.ts | 23 ++++--------------- .../src/compiler/compile-doc-md.ts | 4 ++-- packages/website-build/src/utils/index.ts | 13 +++++++++++ 5 files changed, 20 insertions(+), 35 deletions(-) diff --git a/example/app.ts b/example/app.ts index 5943846d..e676222f 100644 --- a/example/app.ts +++ b/example/app.ts @@ -18,7 +18,6 @@ configProvider({ }) // app.js -// 触发 main 分支 docs 更新 23 createApp({}) if (isIframe) { diff --git a/packages/website-build/src/compiler/compile-base-css-variables-md.ts b/packages/website-build/src/compiler/compile-base-css-variables-md.ts index ad0169e7..0002fdcc 100644 --- a/packages/website-build/src/compiler/compile-base-css-variables-md.ts +++ b/packages/website-build/src/compiler/compile-base-css-variables-md.ts @@ -6,7 +6,7 @@ import { CACHE_DIR_NAME } from '../common/constant.js' import { createRequire } from 'node:module' import { fileURLToPath } from 'node:url' import { dirname } from 'node:path' -import { readFileSync } from '../utils/index.js' +import { readFileSync, convertCssVarFormat } from '../utils/index.js' const require = createRequire(import.meta.url) const __dirname = dirname(fileURLToPath(import.meta.url)) @@ -20,18 +20,6 @@ const filepath = path.join(outPath, fileName) const startTag = '' const endTag = '' -/** - * 转换CSS变量格式:$var($) -> var(--cube-), $var() -> var(--cube-), $ -> --cube- - * @param origin 原始变量字符串 - * @returns 转换后的CSS变量字符串 - */ -const convertCssVarFormat = (origin: string): string => { - return origin - .replace(/\$var\(\$(.+)\)/g, 'var(--cube-$1)') - .replace(/\$var\((.+)\)/g, 'var(--cube-$1)') - .replace(/\$(.+)/g, '--cube-$1') -} - /** * 生成全局CSS变量文档 * @returns {void} diff --git a/packages/website-build/src/compiler/compile-components-css-variables-md.ts b/packages/website-build/src/compiler/compile-components-css-variables-md.ts index 364be9ae..0688d7d7 100644 --- a/packages/website-build/src/compiler/compile-components-css-variables-md.ts +++ b/packages/website-build/src/compiler/compile-components-css-variables-md.ts @@ -2,27 +2,16 @@ import { Render } from '@mpxjs/vuese-markdown-render' import { renderOptions } from '../common/options.js' import { CACHE_DIR_NAME } from '../common/constant.js' import { createRequire } from 'node:module' +import { convertCssVarFormat } from '../utils/index.js' const require = createRequire(import.meta.url) -/** - * 转换CSS变量格式:$var($) -> var(--cube-), $var() -> var(--cube-), $ -> --cube- - * @param origin 原始变量字符串 - * @returns 转换后的CSS变量字符串 - */ -const convertCssVarFormat = (origin: string): string => { - return origin - .replace(/\$var\(\$(.+)\)/g, 'var(--cube-$1)') - .replace(/\$var\((.+)\)/g, 'var(--cube-$1)') - .replace(/\$(.+)/g, '--cube-$1') -} - /** * 生成组件CSS变量文档 * @param {string} component * @returns {string} */ -const genCompnentsCSSVariablesMd = function (component: string) { +const genComponentsCSSVariablesMd = function (component: string) { const themeVarInfo = require(`../../${CACHE_DIR_NAME}/theme-var-info.json`) const defaultThemeStyle = require(`../../${CACHE_DIR_NAME}/default-theme-style.json`) @@ -71,7 +60,7 @@ const genCompnentsCSSVariablesMd = function (component: string) { // 变量默认值 const contentList = value.split(/\s/) // 正则数组顺序应由具体到抽象,目前为$var($color),$var(color),$color - const regexpList = [/\$var\(\$(.+)\)/, /\$var\((.+)\)/, /\$(.+)/, /\$\(,/] + const regexpList = [/\$var\(\$(.+)\)/, /\$var\((.+)\)/, /\$(.+)/] const handledList = contentList.map(content => { // 引用变量则处理文本为跳转链接 if (content.includes('$')) { @@ -83,7 +72,6 @@ const genCompnentsCSSVariablesMd = function (component: string) { const varName = matchText.startsWith('$') ? matchText.slice(1) : matchText if (BASE_CSS_VARIABLES_MAP.has(varName)) { // 全局CSS变量 - // return `${origin}` return ` ${convertCssVarFormat(origin)} ` } else if (SELF_CSS_VARIABLES_MAP.has(varName)) { // 自身CSS变量 @@ -91,9 +79,6 @@ const genCompnentsCSSVariablesMd = function (component: string) { } else { // 默认为其他同类组件CSS变量 return `${convertCssVarFormat(origin)}` - // const ComponentAlias = varName.split('-')[0] - // return `${origin}` - // return `${origin}` } }) } @@ -114,4 +99,4 @@ const genCompnentsCSSVariablesMd = function (component: string) { return code } -export default genCompnentsCSSVariablesMd +export default genComponentsCSSVariablesMd diff --git a/packages/website-build/src/compiler/compile-doc-md.ts b/packages/website-build/src/compiler/compile-doc-md.ts index ad898af6..58942f07 100644 --- a/packages/website-build/src/compiler/compile-doc-md.ts +++ b/packages/website-build/src/compiler/compile-doc-md.ts @@ -5,7 +5,7 @@ import { getMixinsConfig } from '../utils/get-mixins-config.js' import { camelize, mkdirSync } from '../utils/index.js' import genSrcCodeMd from './compile-src-code-md.js' import genExampleMd from './compile-example-md.js' -import genCompnentsCSSVariablesMd from './compile-components-css-variables-md.js' +import genComponentsCSSVariablesMd from './compile-components-css-variables-md.js' import genBaseCSSVariablesMd from './compile-base-css-variables-md.js' const reg = /([\s\S]+?)<\/card>/g @@ -43,7 +43,7 @@ const genDocMd = ( mkdirSync(path.resolve(mdDistDir, componentGroupName), componentGroupName) const exampleDocPath = path.resolve(mdDistDir, componentGroupName, `${example}.md`) const srcCodeMd = genSrcCodeMd(srcDir, example, fnMixins) - const cssVariablesMdContent = genCompnentsCSSVariablesMd(example) + const cssVariablesMdContent = genComponentsCSSVariablesMd(example) let srcCodeMdContent = '' if (srcCodeMd) { srcCodeMdContent = addCardWrap(srcCodeMd.content + cssVariablesMdContent, '##') diff --git a/packages/website-build/src/utils/index.ts b/packages/website-build/src/utils/index.ts index 7cdc367c..44cb9cf4 100644 --- a/packages/website-build/src/utils/index.ts +++ b/packages/website-build/src/utils/index.ts @@ -89,6 +89,18 @@ const delEmptyContentLineBreaks = function (content) { return content } +/** + * 转换CSS变量格式:$var($) -> var(--cube-), $var() -> var(--cube-), $ -> --cube- + * @param origin 原始变量字符串 + * @returns 转换后的CSS变量字符串 + */ +const convertCssVarFormat = (origin: string): string => { + return origin + .replace(/\$var\(\$(.+)\)/g, 'var(--cube-$1)') + .replace(/\$var\((.+)\)/g, 'var(--cube-$1)') + .replace(/\$(.+)/g, '--cube-$1') +} + export { camelize, isMpxFile, @@ -96,6 +108,7 @@ export { capitalize, readFileSync, trimLineBreak, + convertCssVarFormat, delScriptJsonBlock, getExamplesMpxFiles, delEmptyContentLineBreaks