//! 更新默认主题配置后,需要执行 npm run build:theme 重新构建index.json const fs = require('fs') const path = require('path') const { createThemeColors } = require('./utils') const defaultThemes = [ { id: 'green', name: '绿意盎然', isDark: false, isDarkFont: false, config: { primary: 'rgb(77, 175, 124)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#4baed5', '--color-badge-tertiary': '#e7aa36', }, }, { id: 'blue', name: '蓝田生玉', isDark: false, isDarkFont: false, config: { primary: 'rgb(52, 152, 219)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#5cbf9b', '--color-badge-tertiary': '#5cbf9b', }, }, { id: 'blue_plus', name: '蛋雅深蓝', isDark: false, isDarkFont: false, config: { primary: 'rgb(77, 131, 175)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-600)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': 'rgba(66.6, 150.7, 171, 1)', '--color-badge-tertiary': 'rgba(54, 196, 231, 1)', }, }, { id: 'orange', name: '橙黄橘绿', isDark: false, isDarkFont: false, config: { primary: 'rgb(245, 171, 53)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#9ed458', '--color-badge-tertiary': '#9ed458', }, }, { id: 'red', name: '热情似火', isDark: false, isDarkFont: false, config: { primary: 'rgb(214, 69, 65)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#dfbb6b', '--color-badge-tertiary': '#dfbb6b', }, }, { id: 'pink', name: '粉装玉琢', isDark: false, isDarkFont: false, config: { primary: 'rgb(241, 130, 141)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#f5b684', '--color-badge-tertiary': '#f5b684', }, }, { id: 'purple', name: '重斤球紫', isDark: false, isDarkFont: false, config: { primary: 'rgb(155, 89, 182)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#e5a39f', '--color-badge-tertiary': '#e5a39f', }, }, { id: 'grey', name: '灰常美丽', isDark: false, isDarkFont: false, config: { primary: 'rgb(108, 122, 137)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#b19b9f', '--color-badge-tertiary': '#b19b9f', }, }, { id: 'ming', name: '青出于黑', isDark: false, isDarkFont: false, config: { primary: 'rgb(51, 110, 123)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#6376a2', '--color-badge-tertiary': '#6376a2', }, }, { id: 'blue2', name: '清热板蓝', isDark: false, isDarkFont: false, config: { primary: 'rgb(79, 98, 208)', font: 'rgb(33, 33, 33)', '--color-app-background': 'var(--color-primary-light-600-alpha-700)', '--color-main-background': 'rgba(255, 255, 255, 1)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'none', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#b080db', '--color-badge-tertiary': '#b080db', }, }, { id: 'black', name: '黑灯瞎火', isDark: true, isDarkFont: false, config: { primary: 'rgb(150, 150, 150)', font: 'rgb(229, 229, 229)', '--color-app-background': 'rgba(0, 0, 0, 0)', '--color-main-background': 'rgba(19, 19, 19, 0.9)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'url(./theme_images/landingMoon.png)', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary-dark-200)', '--color-badge-secondary': 'var(--color-primary)', '--color-badge-tertiary': 'var(--color-primary-dark-300)', }, }, { id: 'mid_autumn', name: '月里嫦娥', isDark: false, isDarkFont: false, config: { primary: 'rgb(74, 55, 82)', font: 'rgb(33, 33, 33)', '--color-app-background': 'rgba(255, 255, 255, 0)', '--color-main-background': 'rgba(255, 255, 255, 0.9)', '--color-nav-font': 'var(--color-primary-light-600)', '--background-image': 'url(./theme_images/jqbg.jpg)', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': '#af9479', '--color-badge-tertiary': '#af9479', }, }, { id: 'naruto', name: '木叶之村', isDark: false, isDarkFont: false, config: { primary: 'rgb(87, 144, 167)', font: 'rgb(33, 33, 33)', '--color-app-background': 'rgba(255, 255, 255, 0.15)', '--color-main-background': 'rgba(255, 255, 255, 0.8)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'url(./theme_images/myzcbg.jpg)', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': 'var(--color-primary)', '--color-badge-secondary': 'var(--color-primary-light-100)', '--color-badge-tertiary': 'var(--color-primary-light-100)', }, }, { id: 'china_ink', name: '近墨者黑', isDark: false, isDarkFont: false, config: { primary: 'rgba(47, 47, 47, 1)', font: 'rgb(33, 33, 33)', '--color-app-background': 'rgba(255, 255, 255, 0)', '--color-main-background': 'rgba(255, 255, 255, 0.8)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'url(./theme_images/china_ink.jpg)', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': 'rgba(183, 212, 208, 1)', '--color-btn-min': 'rgba(200, 214, 183, 1)', '--color-btn-close': 'rgba(218, 195, 188, 1)', '--color-badge-primary': 'rgba(137, 70, 70, 1)', '--color-badge-secondary': 'rgba(67, 139, 65, 1)', '--color-badge-tertiary': 'rgba(132, 135, 65, 1)', }, }, { id: 'happy_new_year', name: '新年快乐', isDark: false, isDarkFont: false, config: { primary: 'rgb(192, 57, 43)', font: 'rgb(33, 33, 33)', '--color-app-background': 'rgba(255, 255, 255, 0.15)', '--color-main-background': 'rgba(255, 255, 255, 0.8)', '--color-nav-font': 'var(--color-primary)', '--background-image': 'url(./theme_images/xnkl.png)', '--background-image-position': 'center', '--background-image-size': 'cover', '--color-btn-hide': '#3bc2b2', '--color-btn-min': '#85c43b', '--color-btn-close': '#fab4a0', '--color-badge-primary': '#7fb575', '--color-badge-secondary': '#dfbb6b', '--color-badge-tertiary': 'var(--color-primary-light-100)', }, }, ] const themes = defaultThemes.map(({ config: { primary, font, ...extInfo }, ...themeInfo }) => { return { ...themeInfo, isCustom: false, config: { themeColors: createThemeColors(primary, font, themeInfo.isDark), extInfo, }, } }) fs.writeFileSync(path.join(__dirname, 'index.json'), JSON.stringify(themes, null, 2))