You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.0 KiB
56 lines
2.0 KiB
const path = require('path');
|
|
const fs = require('fs');
|
|
const { generateTheme, getLessVars } = require('antd-theme-generator');
|
|
|
|
const themeVariables = getLessVars(path.join(__dirname, './client/src/styles/theme.less'))
|
|
const defaultVars = getLessVars('./node_modules/antd/lib/style/themes/default.less')
|
|
|
|
const darkVars = {
|
|
...getLessVars('./node_modules/antd/lib/style/themes/dark.less'),
|
|
'@primary-color': defaultVars['@primary-color'],
|
|
'@picker-basic-cell-active-with-range-color': 'darken(@primary-color, 20%)',
|
|
};
|
|
const lightVars = {
|
|
...getLessVars('./node_modules/antd/lib/style/themes/compact.less'),
|
|
'@primary-color': defaultVars['@primary-color'],
|
|
'@layout-header-background': defaultVars['@white']
|
|
};
|
|
fs.writeFileSync('./client/src/themes/dark.json', JSON.stringify(darkVars));
|
|
fs.writeFileSync('./client/src/themes/light.json', JSON.stringify(lightVars));
|
|
fs.writeFileSync('./client/src/themes/theme.json', JSON.stringify(themeVariables));
|
|
|
|
const options = {
|
|
stylesDir: path.join(__dirname, './client/src/styles'),
|
|
antDir: path.join(__dirname, './node_modules/antd'),
|
|
varFile: path.join(__dirname, './client/src/styles/theme.less'),
|
|
mainLessFile: path.join(__dirname, './client/src/styles/antd.less'),
|
|
themeVariables: Array.from(new Set([
|
|
...Object.keys(darkVars),
|
|
...Object.keys(lightVars),
|
|
...Object.keys(themeVariables),
|
|
])),
|
|
// themeVariables: [
|
|
// '@primary-color',
|
|
// '@link-color',
|
|
// '@secondary-color',
|
|
// '@text-color',
|
|
// '@text-color-secondary',
|
|
// '@disabled-color',
|
|
// '@heading-color',
|
|
// '@layout-body-background',
|
|
// '@btn-primary-bg',
|
|
// '@layout-header-background',
|
|
// '@border-color-base',
|
|
// '@component-background',
|
|
// '@body-background'
|
|
// ],
|
|
indexFileName: 'index.html',
|
|
outputFilePath: path.join(__dirname, './client/assets/color.less'),
|
|
customColorRegexArray: [/^fade\(.*\)$/]
|
|
}
|
|
|
|
generateTheme(options).then(less => {
|
|
console.log('Theme generated successfully');
|
|
}).catch(error => {
|
|
console.log('Error', error);
|
|
});
|