2个版本

0.1.1 2021年10月5日
0.1.0 2021年10月5日

#239模板引擎


yuna 中使用

ISC 许可证

19KB
306

tempera

基于模板的终端着色变得非常简单。

用法

Tempera允许以非常简单的方式为终端添加着色。

着色字符串

要着色字符串,只需使用 colorize 函数,传递一个要应用样式的向量。支持的色彩名称列表对应于 CODES 变量的键。

use tempera::*;

fn main() {
  println!("{}", colorize("Colorized", &["red"]));
  println!("{}", colorize("Colorized", &["red bgBlue"]));
}

着色模板

要使用带标签的模板语法着色模板,只需使用 colorize_template 函数。

use tempera::*;

fn main() {
  println!("{}", colorize_template("{red}This is in red, {green underline}this in green underlined{-}, this in red again.");
}

模板识别花括号之间的样式(使用单个或双花括号来转义它们)和标记 {-} 作为通用的结束标签(它还会恢复之前的样式)。

字符串末尾的结束标签可以省略,因为如果设置了任何样式,tempera 将附加全局重置样式(\u{1b}[0m)。

如果您想丢弃要恢复的样式,请使用 {reset} 标记。

设置自定义样式

如果您想定义自定义样式,请使用 add_style 函数。

use tempera::*;

fn main() {
  println!("{}", add_style("custom", &["yellow", "bgRed"]).is_ok());
}

支持256种和1600万种颜色

tempera支持256种ANSI代码和1600万种RGB颜色。试试看吧

use tempera::*;

fn main() {
  println!("{}", colorize("Colorized", &["ansi:100"]));
  println!("{}", colorize("Colorized", &["bgANSI:3,4,5"]));
  println!("{}", colorize("Colorized", &["rgb:255,0,0"]));
  println!("{}", colorize("Colorized", &["bgRGB:0,255,0"]));
  println!("{}", colorize("Colorized", &["hex:#FF0000"]));
  println!("{}", colorize("Colorized", &["bgHEX:00FF00"]));
}

ANSI、RGB和十六进制也可以在样式定义和模板中使用。

API文档

API文档可以在 这里 找到。

为tempera做贡献

  • 检查最新主分支以确保该功能尚未实现或错误尚未修复。
  • 检查问题跟踪器以确保没有人已经提出过该请求或贡献过相关代码。
  • 复制项目。
  • 开始创建功能/错误修复分支。
  • 提交并推送,直到你对你的贡献满意为止。
  • 务必添加测试。这很重要,以免我在未来的版本中无意中破坏它。

版权所有 (C) 2021 及以后 Shogun ([email protected])。

许可协议为 ISC 许可证,可在 https://choosealicense.com/licenses/isc 找到。

依赖项

约 2.2–3MB
约 54K SLoC