import fs from 'fs'; const path = 'e:/develop/code/txw/txw-mhzc-web/src/pages/index/views/home2/index.vue'; let s = fs.readFileSync(path, 'utf8'); const start = s.indexOf('', start); if (start < 0 || end < 0) throw new Error('style block not found'); let css = s.slice(start, end); const reps = [ [/#f5f7fa\b/g, '@home-color-page-bg'], [/#003b1a\b/gi, '@home-color-primary-dark'], [/#556659\b/gi, '@home-color-text-body'], [/#1a1a2e\b/gi, '@home-color-text-title'], [/#999999\b/g, '@home-color-text-muted'], [/\b#999\b/g, '@home-color-text-muted'], [/#333333\b/g, '@home-color-text-dark'], [/\b#333\b/g, '@home-color-text-dark'], [/#666666\b/g, '@home-color-text-secondary'], [/\b#666\b/g, '@home-color-text-secondary'], [/#222222\b/g, '@home-color-text-partner'], [/\b#222\b/g, '@home-color-text-partner'], [/#000000\b/g, '@home-color-black'], [/\b#000\b/g, '@home-color-black'], [/#ffffff\b/gi, '@home-color-white'], [/\b#fff\b/gi, '@home-color-white'], [/#00b96b\b/gi, '@home-color-primary-green'], [/#00a25d\b/gi, '@home-color-primary-green-dark'], [/#2e7d32\b/gi, '@home-color-secondary-green'], [/#e6efe6\b/gi, '@home-color-tab-bg'], [/#008cff\b/gi, '@home-color-accent-blue'], [/#2196f3\b/gi, '@home-color-btn-blue-to'], [/#99d2fe\b/gi, '@home-color-btn-blue-from'], [/#007242\b/gi, '@home-color-cta-btn-from'], [/#00d87d\b/gi, '@home-color-cta-btn-to'], [/#f0f7f2\b/gi, '@home-color-footer-bg'], [/'PingFang SC', 'Microsoft YaHei', sans-serif/g, '@home-font-family'], [/'PingFang SC', sans-serif/g, '@home-font-family'], [/font-family: PingFang SC;/g, 'font-family: @home-font-family;'], [/font-family: 'PingFang SC';/g, 'font-family: @home-font-family;'], [/linear-gradient\(180deg, #00b96b 0%, #00a25d 100%\)/g, '@home-gradient-search-btn'], [/linear-gradient\(180deg, rgba\(245, 247, 250, 0\) 0%, rgba\(245, 247, 250\) 100%\)/g, '@home-gradient-hero-fade'], [/linear-gradient\(180deg, rgba\(245, 247, 250, 0\) 0%, rgba\(245, 247, 250, 1\) 100%\)/g, '@home-gradient-hero-fade'], [/linear-gradient\(90deg, #ffffff 0%, #e6efff 36\.06%, #e6efff 62\.5%, #ffffff 100%\)/g, '@home-gradient-core-tag'], [/linear-gradient\(0deg, rgba\(255, 255, 255, 0\.9\) 0%, rgba\(255, 255, 255, 0\.4\) 100%\)/g, '@home-gradient-ability-card'], [/linear-gradient\(180deg, #99d2fe 0%, #2196f3 100%\)/g, '@home-gradient-export-btn'], [/linear-gradient\(90deg, #007242 0%, #00d87d 100%\)/g, '@home-gradient-cta-btn'], [/0 8px 12px rgba\(0, 0, 0, 0\.08\)/g, '@home-shadow-search'], [/0 8px 12px rgba\(127, 179, 213, 0\.2\)/g, '@home-shadow-card-blue'], [/0 8px 12px rgba\(0, 185, 107, 0\.1\)/g, '@home-shadow-card-green'], [/0 8px 20px rgba\(0, 209, 121, 0\.3\)/g, '@home-shadow-card-green-strong'], [/0 2px 5px rgba\(0, 0, 0, 0\.1\)/g, '@home-shadow-news-item'], [/0 2px 10px rgba\(0, 0, 0, 0\.1\)/g, '@home-shadow-news-item'], [/0px 4px 8px 0px rgba\(0, 185, 107, 0\.06\)/g, '@home-shadow-partner-logo'], [/0 4px 12px rgba\(255, 255, 255, 1\)/g, '@home-shadow-title-sub'], [/0 0 8px rgba\(255, 255, 255, 1\)/g, '@home-shadow-card-title'], [/0 0 8px #ffffff/g, '@home-shadow-card-title'], [/0 4px 12px #ffffff/g, '@home-shadow-title-sub'], [/rgba\(255, 255, 255, 0\.7\)/g, '@home-color-white-70'], [/rgba\(255, 255, 255, 0\.6\)/g, '@home-color-white-60'], [/background: rgba\(245, 247, 250, 1\)/g, 'background: @home-color-page-bg'], [/background: rgba\(222, 243, 255, 0\.75\)/g, '@home-color-card-blue-btn-primary-bg'], [/background: rgba\(222, 243, 255, 0\.95\)/g, 'fade(@home-color-card-blue-btn-primary-bg, 95%)'], [/background: rgba\(222, 243, 255, 0\.5\)/g, '@home-color-card-blue-btn-secondary-bg'], [/border: 1px solid rgba\(0, 141, 213, 0\.4\)/g, 'border: 1px solid @home-color-card-blue-btn-secondary-border'], [/background: rgba\(255, 255, 255, 0\.35\)/g, '@home-color-card-chain-bg'], [/background: rgba\(255, 255, 255, 0\.4\)/g, '@home-color-card-chain-btn-secondary-bg'], [/border: 1px solid rgba\(0, 0, 0, 0\.2\)/g, 'border: 1px solid @home-color-card-chain-btn-secondary-border'], [/background: rgba\(232, 255, 234, 0\.5\)/g, '@home-color-card-green-btn-secondary-bg'], [/border: 1px solid rgba\(0, 180, 42, 0\.4\)/g, 'border: 1px solid @home-color-card-green-btn-secondary-border'], ]; for (const [re, rep] of reps) css = css.replace(re, rep); const numReps = [ ['max-width: 867px', 'max-width: @home-hero-title-width'], ['max-width: 600px', 'max-width: @home-search-box-width'], ['width: 92px', 'width: @home-search-btn-width'], ['height: 300px', 'height: @home-hero-fade-height'], ['padding: 8px 8px 8px 16px', 'padding: @home-search-box-padding'], ['padding: 2px 8px', 'padding: @home-search-tag-padding'], ['padding: 0 0 24px', 'padding: 0 0 @home-space-24'], ['gap: 36px', 'gap: @home-feature-cards-gap'], ['gap: 32px', 'gap: @home-space-32'], ['gap: 16px', 'gap: @home-space-16'], ['gap: 12px', 'gap: @home-search-tag-gap'], ['gap: 28px', 'gap: @home-export-card-gap'], ['gap: 14px', 'gap: @home-core-col-gap'], ['gap: 42px', 'gap: @home-section-gap'], ['gap: 52px', 'gap: @home-space-52'], ['gap: 56px', 'gap: @home-space-56'], ['font-size: 56px', 'font-size: @home-font-size-56'], ['font-size: 40px', 'font-size: @home-font-size-40'], ['font-size: 32px', 'font-size: @home-font-size-32'], ['font-size: 28px', 'font-size: @home-font-size-28'], ['font-size: 24px', 'font-size: @home-font-size-24'], ['font-size: 22px', 'font-size: @home-font-size-22'], ['font-size: 20px', 'font-size: @home-font-size-20'], ['font-size: 16px', 'font-size: @home-font-size-16'], ['font-size: 14px', 'font-size: @home-font-size-14'], ['font-size: 12px', 'font-size: @home-font-size-12'], ['line-height: 38px', 'line-height: @home-line-height-38'], ['line-height: 28px', 'line-height: @home-line-height-28'], ['line-height: 26px', 'line-height: @home-line-height-26'], ['line-height: 22px', 'line-height: @home-line-height-22'], ['line-height: 20px', 'line-height: @home-line-height-20'], ['font-weight: 600', 'font-weight: @home-font-weight-semibold'], ['font-weight: 500', 'font-weight: @home-font-weight-medium'], ['font-weight: 400', 'font-weight: @home-font-weight-regular'], ['border-radius: 16px', 'border-radius: @home-radius-xl'], ['border-radius: 12px', 'border-radius: @home-radius-lg'], ['border-radius: 10px', 'border-radius: @home-radius-md'], ['border-radius: 8px', 'border-radius: @home-radius-sm'], ['border-radius: 4px', 'border-radius: @home-radius-xs'], ['border-radius: 24px', 'border-radius: @home-radius-pill'], ['backdrop-filter: blur(20px)', 'backdrop-filter: blur(@home-blur-tag)'], ['backdrop-filter: blur(10px)', 'backdrop-filter: blur(@home-blur-md)'], ['backdrop-filter: blur(8px)', 'backdrop-filter: blur(@home-blur-sm)'], ['backdrop-filter: blur(4px)', 'backdrop-filter: blur(@home-blur-ability)'], ['width: 145px', 'width: @home-news-thumb-width'], ['width: 282px', 'width: @home-partner-logo-card-width'], ['height: 89px', 'height: @home-partner-logo-card-height'], ['height: 66px', 'height: @home-cta-btn-height'], ['width: 360px', 'width: @home-cta-btn-width'], ['width: 77px', 'width: @home-export-btn-size'], ['height: 77px', 'height: @home-export-btn-size'], ['min-height: 119px', 'min-height: @home-export-card-height'], ['max-width: 628px', 'max-width: @home-export-list-width'], ['padding: 0 30px', 'padding: 0 @home-core-grid-padding-x'], ['column-gap: 13px', 'column-gap: @home-ability-grid-col-gap'], ['row-gap: 70px', 'row-gap: @home-ability-grid-row-gap'], ['min-height: 330px', 'min-height: @home-ability-grid-min-height'], ['padding: 16px 16px 16px 32px', 'padding: @home-ability-card-padding'], ]; for (const [from, to] of numReps) css = css.replaceAll(from, to); // Fix double-replaced height on search btn line-height css = css.replace( /line-height: @home-search-btn-height;\s*\n\s*font-family: @home-font-family;/g, 'line-height: @home-search-btn-height;\n font-family: @home-font-family;' ); s = s.slice(0, start) + css + s.slice(end); fs.writeFileSync(path, s); console.log('migration complete');