本主题基于 bootstrap 进行定制修改。在统一不同使用场景的视觉和操作体验的同时,我们建立了完整的规范体系,便于创建项目也方便统一管理。以扁平化和简洁为主旨的设计风格,使用块面来进行布局,用线条来表达各个控件,使功能庞杂的系统 既直观又条理清晰,让使用者一目了然。选用清新的色彩为主基调,使界面清晰又不失沉稳。主要特点:
ruiste-theme
的样式使用less 作为开发语言,并定义了一系列全局 / 组件的样式变量,你可以根据需求进行相应调整。
npm install rsuite-theme -g
在项目根目录下新建 rsuite.config.js
const colors = {
"default": "#00bcd4",
"pagurian": "#1b9451"
};
module.exports = {
"palette": [
{
colors,
"output": "dist/test/css/"
},
{
colors,
"prev": "loading-",
"output": "dist/test/css/",
"src": "css/loading.min.css"
}
],
"resources": {
paths: [
'fonts/**/*.*'
],
dist: 'dist/test'
}
};
更多配置详见配置项
在项目根目录下运行
rsuite-theme -I -P
rsuite-theme -h
创建文件 css-build.js
const build = require('rsuite-theme');
const outPutDir = 'resources/css';
const themes = {
"default": "#522e9b",
"blue": "#29a7e1",
"purple": "#9c27b0"
};
build.importResources({
paths: [
'fonts/**/*.*'
],
dist: outPutDir
});
Object.keys(themes).forEach((key)=>{
build.palette({
baseColor: themes[key],
src: 'css/rsuite.min.css',
dist: `${outPutDir}/rsuite-${key}.css`
});
});
运行 node
脚本
node css-build.js
用 less
文件进行变量覆盖。
建立一个单独的 less
文件如下,再引入这个文件。
@import "~rsuite-them/dist/less/rsuite"; // 引入官方提供的 less 样式入口文件
@import "custom-variables"; // 用于覆盖上面定义的变量
... //你自己的样式
需要导入的资源,支持正则匹配,如fonts/**/*.*
,css/*.css
等,资源列表详见目录结构
输出目录,相对于运行使的脚本目录
是否需要保留源文件的路径(如果为true,则输出文件会拥有源文件同样层级的输出目录)
<key>
:输出文件的文件名
<value>
:输出文件的基色
每一个键值对对应一个css文件,如:{'default':'#00bcd4'}
会输出一个名为default.css
的文件,其基色为#dddd
默认为:css/rsuite.min.css
输出目录,相对于运行使的脚本目录
输出文件为<output>/<prev><colors.key>.css
的格式,如
{
"colors":{
"default": "#00bcd4"
},
"prev": "loading-",
"output": "dist/test/css/",
"src": "css/loading.min.css"
}
输出文件为:
dist/test/css/loading-default.css
Root
├── dist/ //发布目录
│ ├── css/ //css
│ └── less/ //less源文件
│ └── fonts/ //字体文件
└── READNE.md //使用文档