11 个稳定版本
1.2.0 | 2024年6月17日 |
---|---|
1.1.4 | 2024年2月18日 |
1.1.2 | 2023年8月23日 |
1.1.0 | 2022年7月8日 |
0.1.0 | 2022年5月22日 |
#58 in 命令行界面
612 个月下载量
用于 7 crates
140KB
2K SLoC
██████╗ ███████╗ ██████╗ ███╗ ██╗ ████████╗ ███████╗
██╔════╝ ██╔════╝ ██╔═══██╗ ████╗ ██║ ╚══██╔══╝ ██╔════╝
██║ █████╗ ██║ ██║ ██╔██╗ ██║ ██║ ███████╗
██║ ██╔══╝ ██║ ██║ ██║╚██╗██║ ██║ ╚════██║
╚██████╗ ██║ ╚██████╔╝ ██║ ╚████║ ██║ ███████║
╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝
这是一个用于控制台性感 ANSI 字体的简单命令行工具。 给你的 CLI 些爱。
实现
Rust
在 Rust 文件夹 中了解更多。
Nodejs
在 Nodejs 文件夹 中了解更多。
安装
Rust
homebrew
brew install cfonts
Arch 用户仓库
yay -S cfonts
Fedora
sudo dnf install cfonts
NixOS
nix-env -iA nixos.cfonts
MacPorts
sudo port install cfonts
cargo
cargo install cfonts
NodeJs
npm
npm i cfonts -g
yarn
yarn global add cfonts
用法
使用 CLI 很简单。
Usage: cfonts "<value>" [option1] <input1> [option2] <input1>,<input2> [option3] etc...
在任何时候,你都可以运行 help 命令来获取所有命令的完整列表以及如何使用它们。
$ cfonts --help
支持的字符
A |
P |
4 |
$ |
B |
Q |
5 |
% |
C |
R |
6 |
& |
D |
S |
7 |
( |
E |
T |
8 |
) |
F |
U |
9 |
/ |
G |
V |
! |
: |
H |
W |
? |
; |
I |
X |
. |
, |
J |
Y |
+ |
' |
K |
Z |
- |
" |
L |
0 |
_ |
(空格) |
M |
1 |
= |
|
N |
2 |
@ |
|
O |
3 |
# |
字符 |
将被替换为换行符
选项
-h, --help
类型: <command>
默认值: none
这显示了所有可用选项的列表。
$ cfonts --help
-V, --version
类型: <command>
默认值: none
这显示了已安装的版本。
$ cfonts --version
text
类型: <string>
默认值: ""
这是要转换为美好字体的 "文本输入"。
字符 |
将会被替换为换行。
$ cfonts "Hello world"
-f, --font
类型: <string>
默认值: "block"
这是您希望使用的字体样式。目前此插件附带以下字体样式
$ cfonts "text" --font "chrome"
block
[颜色:2] (默认)slick
[颜色:2]tiny
[颜色:1]grid
[颜色:2]pallet
[颜色:2]shade
[颜色:2]chrome
[颜色:3]simple
[颜色:1]simpleBlock
[颜色:1]3d
[颜色:2]simple3d
[颜色:1]huge
[颜色:2]console
[颜色:1]
-a, --align
类型: <string>
默认值: "left"
您可以使用此选项在终端中对齐文本。使用以下关键词
left
(默认)center
right
top
(与无空格选项一起使用时将被忽略)bottom
(与无空格选项一起使用时将被忽略)
$ cfonts "text" --align "center"
-c, --colors
类型: <字符串列表>
默认值: ['system']
使用此设置,您可以设置字体颜色。使用以下颜色字符串或十六进制颜色。
以逗号分隔的字符串提供颜色,例如:red,blue
。 (无空格)
如果您使用十六进制颜色,请确保包含前缀 #
。 (在大多数终端中,请在十六进制颜色周围加引号)system
颜色默认为终端的系统颜色。
💡 有可以影响终端中颜色显示的 环境变量。
system
(默认)black
red
green
yellow
blue
magenta
cyan
white
gray
redBright
greenBright
yellowBright
blueBright
magentaBright
cyanBright
whiteBright
#ff8800
(任何有效的十六进制颜色)#f80
(也支持简写形式)
$ cfonts "text" --colors white,"#f80"
-g, --gradient
类型: <字符串列表>
默认值: false
使用此设置,您可以在输出上设置渐变。
此设置将覆盖颜色选项。
渐变需要两种颜色,从左到右的起始颜色和结束颜色。
(如果您想为渐变设置自己的颜色,请使用 过渡 选项。)
cfonts
将生成一个渐变,通过尽可能多的颜色,以使输出最为引人注目。
以逗号分隔的字符串提供两种颜色,例如:red,blue
。 (无空格)
如果您使用十六进制颜色,请确保包含前缀 #
。 (在终端中,请在十六进制颜色周围加引号)
black
red
green
yellow
blue
magenta
cyan
white
gray
grey
#ff8800
(任何有效的十六进制颜色)#f80
(也支持简写形式)
$ cfonts "text" --gradient red,"#f80"
-i, --independent-gradient
类型: <boolean>
默认值: false
将此选项设置为针对每行重新计算渐变颜色。
仅与 渐变 选项一起使用。
$ cfonts "text|next line" --gradient red,"#f80" --independent-gradient
-t, --transition-gradient
类型: <boolean>
默认值: false
将此选项设置为生成自己的渐变。渐变选项中设置的每个颜色将直接过渡。此选项允许您为渐变指定更多颜色。
仅与 渐变 选项一起使用。
$ cfonts "text" --gradient red,"#f80",green,blue --transition-gradient
-b, --background
类型: <string>
默认值: "transparent"
使用此设置,您可以设置输出的背景颜色。使用以下颜色字符串。提供以下支持的列表中的背景颜色,例如:'white'
transparent
(默认)black
red
green
yellow
blue
magenta
cyan
white
blackBright
redBright
greenBright
yellowBright
blueBright
magentaBright
cyanBright
whiteBright
#ff8800
(任何有效的十六进制颜色)#f80
(也支持简写形式)
$ cfonts "text" --background "Green"
-l, --letter-spacing
类型: <integer>
默认值: 1
将此选项设置为扩大字符间距。
$ cfonts "text" --letter-spacing 2
-z, --line-height
类型: <integer>
默认值: 1
将此选项设置为扩大行间距。
$ cfonts "text" --line-height 2
-s, --spaceless
类型: <boolean>
默认值: false
如果您不想插件在输出顶部和底部插入两个空行,请将此选项设置为false。
$ cfonts "text" --spaceless
-m, --max-length
类型: <integer>
默认值: 0
此选项设置一行中要打印的最大字符数。
cfonts
会检测您的终端大小,但您可以选择退出并自行确定最大宽度。
0
表示没有最大宽度,文本将在终端窗口的边缘断行。
$ cfonts "text" --max-length 15
-r, --raw-mode
类型: <boolean>
默认值: false
将此选项设置为使cfonts
使用CRLF
(\r\n
)而不是默认的LF
(\n
)进行换行。
这在终端原始模式下或在较旧的Windows计算机上可能很有用。
use crossterm::terminal;
use std::io::Write;
use cfonts;
fn main() -> std::io::Result<()> {
terminal::enable_raw_mode()?;
cfonts::say(cfonts::Options {
text: String::from("Hello|world"),
raw_mode: true,
..cfonts::Options::default()
});
std::io::stdout().flush()?;
terminal::disable_raw_mode()?;
Ok(())
}
-e, --env
类型: <string>
默认值: cli
此选项允许您使用cfonts
生成HTML而不是ANSI代码。
请注意,max-length
将被设置为非常大。
$ cfonts "text" --env browser
一致性
cfonts
会检测您的平台支持的颜色。它会自动设置一个支持级别。在cfonts
中,您可以通过传递FORCE_COLOR
环境变量来覆盖此设置。
FORCE_COLOR=3 cfonts "hello world" -c "#0088ff"
您还可以使用NO_COLOR
环境变量来为CI等环境设置无颜色输出。
NO_COLOR="" cfonts "hello world" -c "#0088ff"
💡 如果同时设置了FORCE_COLOR
和NO_COLOR
,则FORCE_COLOR
会覆盖NO_COLOR
。
许可证
版权所有 (c) 2023 Dominik Wilkowski。许可协议为GNU GPL-3.0-or-later。
依赖关系
~2–15MB
~154K SLoC