1use inkline::{
5 AsciiArt,
6 InfoConfig,
7 InfoPosition
8};
9
10use chromakitx::{
11 AnsiColor,
12 AnyColor
13};
14
15fn get_ascii() -> &'static [&'static str; 20] {
16 &[
17 " {2}.:--::////::--.`",
18 " {1}`/yNMMNho{2}////////////:.",
19 " {1}`+NMMMMMMMMmy{2}/////////////:`",
20 " {0}`-:::{1}ohNMMMMMMMNy{2}/////////////:`",
21 " {0}.::::::::{1}odMMMMMMMNy{2}/////////////-",
22 " {0}-:::::::::::{1}/hMMMMMMMmo{2}////////////-",
23 "{0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-",
24 "{0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`",
25 "{0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-",
26 "{0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:",
27 "{0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:",
28 "{0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-",
29 "{0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`",
30 " {0}.:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-",
31 " {0}-:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-",
32 " {0}.:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-",
33 " {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.",
34 " -yMMMo{0}::::::::::::::::{1}/MMMy-",
35 " `/s{0}::::::::::::::::::{1}o/`",
36 " {0}``.---::::---..`"
37 ]
38}
39
40fn main() -> () {
41 let colors: Vec<AnyColor> = vec![
42 AnsiColor::BrightCyan.into(),
43 AnsiColor::BrightBlue.into(),
44 AnsiColor::BrightMagenta.into()
45 ];
46
47 let info: InfoConfig = InfoConfig::new(vec![
48 "Hello World!".to_string(),
49 "This is Inkline (Ascii).".to_string(),
50 "Made with ❤️ in Rust.".to_string(),
51 "Developer: CELESTIFYX Team".to_string()
52 ]).with_position(InfoPosition::Right).with_margin(4).with_l_margin(1);
53
54 let ascii: String = get_ascii().join("\n");
55 let mut art: AsciiArt = AsciiArt::new(Some(ascii), Some(colors), true, Some(info));
56
57 println!("{}", (&mut art).render());
58}