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