我正在构建一个生活风格指南,并希望自动生成colors.scss
文件中的颜色信息。我的目标是尽可能简单明了地保持颜色列表。我目前的设置是:
$colors: (
// Variable Name Color Hover Description
white: 'White' #ffffff #CCCCCC 'Use this for page background and text color on dark elements',
black: 'Black' #000000 #333333
);
在另一个档案中:
@function color($label) {
$color: map-get($colors,$label);
@if $color{
@return nth($color, 2);
}
@warn 'No specified color for "#{$label}"; add your own to colors.scss';
@return null;
}
.color-values-data {
font-family: sassToJs($colors);
}
我使用sass-to-js将数据传递给JavaScript,并计划使用该信息构建颜色图表。我可以使用我的样式表中的颜色:
.heading {
color: color(white);
}
我有什么方法可以简化或以其他方式改善这一点吗?例如,我更喜欢使用$white
而不是color(white)
,但我认为在SCSS之前需要额外的编译步骤,因为它不支持动态变量名称。
此项目未使用任何现有的styleguide引擎,因为它需要为我们正在使用的CMS(Magnolia)生成UI模块,这种方法允许我们在样式指南中使用与实际站点本身完全相同的组件。