1 个不稳定版本
0.0.1 | 2023年4月10日 |
---|
#15 在 #class-name
97KB
2.5K SLoC
XISS
使用 Rust 编写的模块化 CSS 的实验性编译器。
支持的 ID 类型
- 类名
- 变量
- 关键帧
全局 ID
- 压缩
- 性能
类映射
- 内联
- 表格
- 自动
声明状态
@classmap buttonClass {
disabled: ButtonDisabled;
focus: ButtonFocus Focus;
}
使用 @static
声明静态类名
@classmap buttonClass {
@static Button;
disabled: ButtonDisabled;
}
使用排除约束 @exclude
排除状态
@classmap buttonClass {
@static Button;
disabled: ButtonDisabled;
focus: ButtonFocus;
@exclude disabled focus;
}
外部 ID
@extern class Button from 'xiss/buttons';
@extern class Button as myButton from 'xiss/buttons';
常量
:const {
--MAIN-BACKGROUND: #333;
}
排除过滤器
CSS 映射文件
格式
CSS 映射文件以 CSV 格式存储,包含四列
- ID 类型
C
- 类名V
- 变量K
- 关键帧
- 模块 ID
- 本地 ID
- 全局 ID
例如:
C,xiss/example,Button,a
V,xiss/example,MyVar,a
K,xiss/example,anim,a
C,xiss/test,Slider,b
C,xiss/test,SliderDisabled,c
C,xiss/test,SliderActive,d
锁文件
定义静态 ID
为常用 ID 预留短 ID
依赖项
~20–31MB
~532K SLoC