use gilt::color::Color;
use gilt::console::Console;
use gilt::figlet::Figlet;
use gilt::gradient::Gradient;
use gilt::rule::Rule;
use gilt::style::Style;
fn main() {
let mut console = Console::builder()
.width(80)
.force_terminal(true)
.no_color(false)
.build();
console.print(&Rule::with_title("GILT Banner (Gradient)"));
let banner = Figlet::new("GILT");
let banner_text = format!("{}", banner);
let gradient = Gradient::new(
&banner_text,
vec![
Color::from_rgb(255, 215, 0), Color::from_rgb(255, 140, 0), Color::from_rgb(255, 69, 0), ],
);
console.print(&gradient);
console.print(&Rule::with_title("Styled Figlet Text"));
let hello = Figlet::new("Hello").with_style(Style::parse("bold red").unwrap());
console.print(&hello);
console.print(&Rule::with_title("Numbers"));
let numbers = Figlet::new("0123456789");
console.print(&numbers);
console.print(&Rule::with_title("Mixed Text"));
let mixed = Figlet::new("Hi!");
console.print(&mixed);
console.print(&Rule::with_title("Width Constrained (40 cols)"));
let wide = Figlet::new("ABCDEF").with_width(40);
console.print(&wide);
console.print(&Rule::with_title("Display Trait (println!)"));
let display_fig = Figlet::new("OK");
println!("{}", display_fig);
}