diff --git a/creategemini.sh b/creategemini.sh new file mode 100755 index 0000000..d7cbc9d --- /dev/null +++ b/creategemini.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +all_users=$(grep /home < /etc/passwd | awk -F: '{print $1}') +printf "%s" "$all_users" | while read -r n; do + target="/var/gemini/users/${n}" + mkdir -p "$target" + chown "$n" "$target" + ln -s "$target" "/home/${n}/public_gemini" +done diff --git a/geminiroot.sh b/geminiroot.sh index 4449325..325fae8 100755 --- a/geminiroot.sh +++ b/geminiroot.sh @@ -6,10 +6,10 @@ template_dir="${current_dir}/templates/gemini" output="${template_dir}/users.gemini" printf "[Users]\\n" > "$output" printf "%s" "$all_users" | while read -r n; do - target="/var/gemini/users/${n}" - if find "$target" -mindepth 1 -print -quit 2>/dev/null | grep -q .; then + if [ -f "/var/gemini/users/${n}/.gemini" ]; then printf "=> /users/%s ~%s\\n" "$n" "$n" >> "$output" fi done cat "${template_dir}/head.gemini" "${output}" > /var/gemini/.gemini +cat "$output" > /var/gemini/users/.gemini diff --git a/templates/gemini/head.gemini b/templates/gemini/head.gemini index 8eefb50..9b8b300 100644 --- a/templates/gemini/head.gemini +++ b/templates/gemini/head.gemini @@ -31,4 +31,4 @@ Tilde.Black is proud to support the emerging Gemini protocol. => gemini://zaibatsu.circumlunar.space Read more about Gemini -User pages will be coming soon. + diff --git a/templates/gemini/users.gemini b/templates/gemini/users.gemini new file mode 100644 index 0000000..4754d4a --- /dev/null +++ b/templates/gemini/users.gemini @@ -0,0 +1,2 @@ +[Users] +=> /users/fox ~fox