You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
5.4 KiB
123 lines
5.4 KiB
1 year ago
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
set -o pipefail
|
||
|
|
||
|
trap 'echo "Script interrupted."; exit 1' INT
|
||
|
|
||
|
# Function for colored echo
|
||
|
function color_echo() {
|
||
|
COLOR=$1
|
||
|
shift
|
||
|
echo -e "${COLOR}===> $* ${COLOR_SUFFIX}"
|
||
|
}
|
||
|
|
||
|
# Color definitions
|
||
|
function openim_color() {
|
||
|
COLOR_SUFFIX="\033[0m" # End all colors and special effects
|
||
|
|
||
|
BLACK_PREFIX="\033[30m" # Black prefix
|
||
|
RED_PREFIX="\033[31m" # Red prefix
|
||
|
GREEN_PREFIX="\033[32m" # Green prefix
|
||
|
YELLOW_PREFIX="\033[33m" # Yellow prefix
|
||
|
BLUE_PREFIX="\033[34m" # Blue prefix
|
||
|
SKY_BLUE_PREFIX="\033[36m" # Sky blue prefix
|
||
|
WHITE_PREFIX="\033[37m" # White prefix
|
||
|
BOLD_PREFIX="\033[1m" # Bold prefix
|
||
|
UNDERLINE_PREFIX="\033[4m" # Underline prefix
|
||
|
ITALIC_PREFIX="\033[3m" # Italic prefix
|
||
|
|
||
|
CYAN_PREFIX="\033[0;36m" # Cyan prefix
|
||
|
}
|
||
|
|
||
|
function print_with_delay() {
|
||
|
text="$1"
|
||
|
delay="$2"
|
||
|
color="$3"
|
||
|
|
||
|
for i in $(seq 0 $((${#text}-1))); do
|
||
|
printf "${color}${text:$i:1}${COLOR_SUFFIX}"
|
||
|
sleep $delay
|
||
|
done
|
||
|
printf "\n"
|
||
|
}
|
||
|
|
||
|
function print_progress() {
|
||
|
total="$1"
|
||
|
delay="$2"
|
||
|
color="$3"
|
||
|
|
||
|
printf "${color}["
|
||
|
for i in $(seq 1 $total); do
|
||
|
printf "#"
|
||
|
sleep $delay
|
||
|
done
|
||
|
printf "]${COLOR_SUFFIX}\n"
|
||
|
}
|
||
|
function openim_logo() {
|
||
|
# Set text color to cyan for header and URL
|
||
|
echo -e "\033[0;36m"
|
||
|
|
||
|
# Display fancy ASCII Art logo
|
||
|
# look http://patorjk.com/software/taag/#p=display&h=1&v=1&f=Doh&t=OpenIM
|
||
|
print_with_delay '
|
||
|
|
||
|
|
||
|
OOOOOOOOO IIIIIIIIIIMMMMMMMM MMMMMMMM
|
||
|
OO:::::::::OO I::::::::IM:::::::M M:::::::M
|
||
|
OO:::::::::::::OO I::::::::IM::::::::M M::::::::M
|
||
|
O:::::::OOO:::::::O II::::::IIM:::::::::M M:::::::::M
|
||
|
O::::::O O::::::Oppppp ppppppppp eeeeeeeeeeee nnnn nnnnnnnn I::::I M::::::::::M M::::::::::M
|
||
|
O:::::O O:::::Op::::ppp:::::::::p ee::::::::::::ee n:::nn::::::::nn I::::I M:::::::::::M M:::::::::::M
|
||
|
O:::::O O:::::Op:::::::::::::::::p e::::::eeeee:::::een::::::::::::::nn I::::I M:::::::M::::M M::::M:::::::M
|
||
|
O:::::O O:::::Opp::::::ppppp::::::pe::::::e e:::::enn:::::::::::::::n I::::I M::::::M M::::M M::::M M::::::M
|
||
|
O:::::O O:::::O p:::::p p:::::pe:::::::eeeee::::::e n:::::nnnn:::::n I::::I M::::::M M::::M::::M M::::::M
|
||
|
O:::::O O:::::O p:::::p p:::::pe:::::::::::::::::e n::::n n::::n I::::I M::::::M M:::::::M M::::::M
|
||
|
O:::::O O:::::O p:::::p p:::::pe::::::eeeeeeeeeee n::::n n::::n I::::I M::::::M M:::::M M::::::M
|
||
|
O::::::O O::::::O p:::::p p::::::pe:::::::e n::::n n::::n I::::I M::::::M MMMMM M::::::M
|
||
|
O:::::::OOO:::::::O p:::::ppppp:::::::pe::::::::e n::::n n::::nII::::::IIM::::::M M::::::M
|
||
|
OO:::::::::::::OO p::::::::::::::::p e::::::::eeeeeeee n::::n n::::nI::::::::IM::::::M M::::::M
|
||
|
OO:::::::::OO p::::::::::::::pp ee:::::::::::::e n::::n n::::nI::::::::IM::::::M M::::::M
|
||
|
OOOOOOOOO p::::::pppppppp eeeeeeeeeeeeee nnnnnn nnnnnnIIIIIIIIIIMMMMMMMM MMMMMMMM
|
||
|
p:::::p
|
||
|
p:::::p
|
||
|
p:::::::p
|
||
|
p:::::::p
|
||
|
p:::::::p
|
||
|
ppppppppp
|
||
|
|
||
|
' 0.0001
|
||
|
|
||
|
# Display product URL
|
||
|
print_with_delay "Discover more and contribute at: https://github.com/OpenIMSDK/Open-IM-Server" 0.01
|
||
|
|
||
|
# Reset text color back to normal
|
||
|
echo -e "\033[0m"
|
||
|
|
||
|
# Set text color to green for product description
|
||
|
echo -e "\033[1;32m"
|
||
|
|
||
|
print_with_delay "Open-IM-Server: Reinventing Instant Messaging" 0.01
|
||
|
print_progress 50 0.02
|
||
|
|
||
|
print_with_delay "Open-IM-Server is not just a product; it's a revolution. It's about bringing the power of seamless, real-time messaging to your fingertips. And it's about joining a global community of developers, dedicated to pushing the boundaries of what's possible." 0.01
|
||
|
|
||
|
print_progress 50 0.02
|
||
|
|
||
|
# Reset text color back to normal
|
||
|
echo -e "\033[0m"
|
||
|
|
||
|
# Set text color to yellow for the Slack link
|
||
|
echo -e "\033[1;33m"
|
||
|
|
||
|
print_with_delay "Join our developer community on Slack: https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg" 0.01
|
||
|
|
||
|
# Reset text color back to normal
|
||
|
echo -e "\033[0m"
|
||
|
}
|
||
|
|
||
|
function main() {
|
||
|
openim_logo
|
||
|
}
|
||
|
main "$@"
|