mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-08 04:23:35 +00:00
feat(web): 🎨 Unified color theme, AntV light/dark theme switching, Antd first-screen style loading. (#1020)
Co-authored-by: 黄振洪 <hzh01509324@alibaba-inc.com> Co-authored-by: Aralhi <xiaoping0501@gmail.com>
This commit is contained in:
36
web/genAntdCss.ts
Normal file
36
web/genAntdCss.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { createHash } from 'crypto';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { extractStyle } from '@ant-design/cssinjs';
|
||||
import type Entity from '@ant-design/cssinjs/lib/Cache';
|
||||
|
||||
export type DoExtraStyleOptions = {
|
||||
cache: Entity;
|
||||
dir?: string;
|
||||
baseFileName?: string;
|
||||
};
|
||||
export function doExtraStyle({ cache, dir = 'antd-output', baseFileName = 'antd.min' }: DoExtraStyleOptions) {
|
||||
const baseDir = path.resolve(__dirname, '../../static/css');
|
||||
|
||||
const outputCssPath = path.join(baseDir, dir);
|
||||
|
||||
if (!fs.existsSync(outputCssPath)) {
|
||||
fs.mkdirSync(outputCssPath, { recursive: true });
|
||||
}
|
||||
|
||||
const css = extractStyle(cache, true);
|
||||
if (!css) return '';
|
||||
|
||||
const md5 = createHash('md5');
|
||||
const hash = md5.update(css).digest('hex');
|
||||
const fileName = `${baseFileName}.${hash.substring(0, 8)}.css`;
|
||||
const fullpath = path.join(outputCssPath, fileName);
|
||||
|
||||
const res = `_next/static/css/${dir}/${fileName}`;
|
||||
|
||||
if (fs.existsSync(fullpath)) return res;
|
||||
|
||||
fs.writeFileSync(fullpath, css);
|
||||
|
||||
return res;
|
||||
}
|
Reference in New Issue
Block a user