| Crates.io | tui-banner |
| lib.rs | tui-banner |
| version | 0.2.3 |
| created_at | 2025-12-19 15:44:21.741212+00 |
| updated_at | 2025-12-24 13:35:01.584215+00 |
| description | Colorful ASCII art banner renderer for Rust CLI/TUI |
| homepage | https://tui-banner-website.pages.dev/ |
| repository | https://github.com/coolbeevip/tui-banner |
| max_upload_size | |
| id | 1995026 |
| size | 115,610 |
Cinematic ANSI banners for Rust CLI/TUI.
.flfCLI note: download the tui-banner binary from GitHub Releases and place it on your PATH.
CLI default: trims blank rows at the top/bottom; use --no-trim-vertical to keep them.
https://github.com/coolbeevip/tui-banner/releases
[dependencies]
tui-banner = "0.1.4"
use tui_banner::{Align, Banner, Style};
fn main() -> Result<(), tui_banner::BannerError> {
let banner = Banner::new("RUST CLI")?
.style(Style::NeonCyber)
.render();
println!("{banner}");
Ok(())
}
use tui_banner::{Align, Banner, ColorMode, Fill, Gradient, Palette};
fn main() -> Result<(), tui_banner::BannerError> {
let banner = Banner::new("RUST CLI")?
.color_mode(ColorMode::TrueColor)
.gradient(Gradient::vertical(Palette::from_hex(&[
"#00E5FF", // cyan
"#3A7BFF", // blue
"#E6F6FF", // ice
])))
.fill(Fill::Keep)
.dither()
.targets("░▒▓")
.checker(3)
.align(Align::Center)
.padding(1)
.render();
println!("{banner}");
Ok(())
}
use tui_banner::{Align, Banner, Frame, FrameStyle, Gradient, Palette, Style};
fn main() -> Result<(), tui_banner::BannerError> {
let frame = Frame::new(FrameStyle::Rounded).gradient(Gradient::horizontal(
Palette::from_hex(&["#00E5FF", "#7B5CFF", "#FF5AD9"]),
));
let banner = Banner::new("RUST CLI")?
.style(Style::NeonCyber)
.align(Align::Center)
.padding(1)
.frame(frame)
.render();
println!("{banner}");
Ok(())
}
use tui_banner::{Align, Banner, Fill, Gradient, Palette};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let banner = Banner::new("RUST CLI")?
.gradient(Gradient::diagonal(Palette::from_hex(&[
"#00E5FF", "#7B5CFF", "#FF5AD9",
])))
.fill(Fill::Keep)
.align(Align::Center)
.padding(1);
banner.animate_sweep(5, None)?;
Ok(())
}
Tip: pass Some(Color::Rgb(...)) as the second argument to tint the sweep.
use tui_banner::{Align, Banner, Fill, Gradient, Palette};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let banner = Banner::new("RUST CLI")?
.gradient(Gradient::diagonal(Palette::from_hex(&[
"#00E5FF", "#7B5CFF", "#FF5AD9",
])))
.fill(Fill::Keep)
.align(Align::Center)
.padding(1);
banner.animate_wave(5, None, None)?;
Ok(())
}
Tip: pass Some(0.45) and Some(0.3) as the last two arguments to tune wave dim/bright strength.
use tui_banner::{Align, Banner, Fill, Gradient, Palette};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let banner = Banner::new("RUST CLI")?
.gradient(Gradient::diagonal(Palette::from_hex(&[
"#00E5FF", "#7B5CFF", "#FF5AD9",
])))
.fill(Fill::Keep)
.align(Align::Center)
.padding(1);
banner.animate_roll(4)?;
Ok(())
}
Tip: the roll pushes a bright crest forward with a trailing shadow for a unified, forceful sweep.