ops/bin/envs.net/envs_gemini_genpage.sh

54 lines
1.4 KiB
Bash
Raw Normal View History

2019-10-14 22:08:03 +00:00
#!/usr/bin/env bash
#
# envs.net - generate index.gmi
# - this script is called by /usr/local/bin/envs.net/envs_user_info.sh
2019-10-14 22:08:03 +00:00
#
2019-12-18 20:57:52 +00:00
[ "$(id -u)" -ne 0 ] && printf 'Please run as root!\n' && exit 1
2019-10-14 22:08:03 +00:00
userlist() {
mapfile -t users < <(jq -Mr '.data.users|keys[]' /var/www/envs.net/users_info.json)
for USERNAME in "${users[@]}"; do
if [ -f /home/"$USERNAME"/public_gemini/index.gmi ]; then
2019-12-18 20:57:52 +00:00
[ ! -L /var/gemini/\~"$USERNAME" ] && ln -s /home/"$USERNAME"/public_gemini /var/gemini/\~"$USERNAME"
2019-10-14 22:08:03 +00:00
printf '=> gemini://envs.net/~%s/ ~%s\n' "$USERNAME" "$USERNAME"
else
2019-12-18 20:57:52 +00:00
[ -L /var/gemini/\~"$USERNAME" ] && unlink /var/gemini/\~"$USERNAME"
2019-10-14 22:08:03 +00:00
fi
done
}
cat << EOM >> /tmp/index.gmi_tmp
welcome on envs.net - gemini
$(figlet -f smslant envs.net)
environments
envs.net is a minimalist, non-commercial
2019-11-05 00:00:44 +00:00
shared linux system and will always be free to use.
2019-10-14 22:08:03 +00:00
we are linux lovers, sysadmins, programmer and users who like build
webpages, write blogs, chat online, play cool console games and so much
more. you wish to join with an small user space?
=> https://envs.net/signup/ signup for a envs.net account (html)
visit us in gopher and html lands for more info.
=> https://envs.net website (html)
=> gopher://envs.net gophermap (gopher)
here is a list of our esteemed users:
if you are not appearing on this list, create your index.gmi in ~/public_gemini
$(userlist)
EOM
mv /tmp/index.gmi_tmp /var/gemini/index.gmi
#
exit 0