1 个不稳定版本
| 0.1.0 | 2020年4月2日 |
|---|
#742 在 配置
15KB
239 行
cologen
简单的配色方案配置生成器,灵感来自 base16-builder。
安装
- 从源安装
git clone https://github.com/piutranq/cologen
cargo install --path ./cologen
- 从 crates.io 安装
cargo install cologen
用法
Usage)
[TEMPLATE] | cologen [SCHEME] > [OUTPUT]
[TEMPLATE]: Template configuration file for target.
It must be input at stdin.
[SCHEME]: Path of color scheme file. (YAML format)
[OUTPUT]: The generated configuration is printed at stdout.
Example)
cat $XDG_CONFIG_HOME/cologen/templates/rofi.template \
| cologen $XDG_CONFIG_HOME/cologen/schemes/gruvbox-dark.yaml \
> $XDG_CONFIG_HOME/rofi/color.rasi
配色方案
配色方案文件遵循 YAML 格式。请参考以下示例,或 example/scheme.yaml。
该示例来自 gruvbox
name: "gruvbox-dark"
color:
# Monochromes
grey0: [ 0x28, 0x28, 0x28 ] # bg0
grey1: [ 0x3C, 0x38, 0x36 ] # bg1
grey2: [ 0x66, 0x5C, 0x54 ] # bg3
grey3: [ 0xBD, 0xAE, 0x93 ] # fg3
grey4: [ 0xEB, 0xDB, 0xB2 ] # fg1
grey5: [ 0xFB, 0xF1, 0xC7 ] # fg0
# Chromatics
red: [ 0xFB, 0x49, 0x34 ] # red (bold)
green: [ 0xB8, 0xBB, 0x26 ] # green (bold)
yellow: [ 0xFA, 0xBD, 0x2F ] # yellow (bold)
blue: [ 0x83, 0xA5, 0x98 ] # blue (bold)
magenta: [ 0xD3, 0x86, 0x9B ] # purple (bold)
cyan: [ 0x8E, 0xC0, 0x7C ] # aqua (bold)
cologen 没有颜色命名的标准或指南。它只是根据颜色名称将模板中的替代品替换为实际的颜色代码。
格式
模板
-
模板文件具有与目标配置文件相同的格式,只是颜色代码仅用替代品替换。
-
替代品的格式如下,
@[color_name:color_code_format] -
以下文本是 rofi 的模板示例。请参阅
example/template。
/* color config example for rofi */
*
{
/* Monochrome */
grey0: @[grey0:#%xR%xG%xB];
grey1: @[grey1:#%xR%xG%xB];
grey2: @[grey2:#%xR%xG%xB];
grey3: @[grey3:#%xR%xG%xB];
grey4: @[grey4:#%xR%xG%xB];
grey5: @[grey5:#%xR%xG%xB];
/* Chromatics */
red: @[red:#%xR%xG%xB];
green: @[green:#%xR%xG%xB];
yellow: @[yellow:#%xR%xG%xB];
blue: @[blue:#%xR%xG%xB];
magenta: @[magenta:#%xR%xG%xB];
cyan: @[cyan:#%xR%xG%xB];
/* Special Purpose */
empty: rgba(0, 0, 0, 0);
bg: @[grey0:rgba(%dR, %dG, %dB, %.A)];
fg: @[grey4:#%xR%xG%xB];
fgbold: bold underline @[grey5:#%xR%xG%xB];
}
- 模板示例已转换为以下内容。请参阅
example/output。
/* color config example for rofi */
*
{
/* Monochrome */
grey0: #282828;
grey1: #3c3836;
grey2: #665c54;
grey3: #bdae93;
grey4: #ebdbb2;
grey5: #fbf1c7;
/* Chromatics */
red: #fb4934;
green: #b8bb26;
yellow: #fabd2f;
blue: #83a598;
magenta: #d3869b;
cyan: #8ec07c;
/* Special Purpose */
empty: rgba(0, 0, 0, 0);
bg: rgba(40, 40, 40, 1.00);
fg: #ebdbb2;
fgbold: bold underline #fbf1c7;
}
颜色名称
- 颜色名称可以使用字符
A到Z,a到z,0到9,以及_。 - 以下为示例
Grey2是有效的(允许使用大写)foreground_highlighted是有效的(仅允许使用_作为特殊字符)회색是无效的(使用了非罗马字符)red-dimmed是无效的(使用了无效的特殊字符)
颜色代码格式
- 颜色代码格式使用
%作为转义字符。未转义的表示式不会被替换。 %%会被替换为%%dR,%dG,%dB,%dA会被替换为 0 到 255%pR、%pG、%pB、%pA将被替换为0到100%.R、%.G、%.B、%.A将被替换为0.00到1.00%xR、%xG、%xB、%xA将被替换为00到FF
依赖项
约4-5.5MB
约108K SLoC