#!/bin/bash set -eu rootdir=$(readlink -f "$(dirname "$0")/..") echo "$rootdir" mkdir -p "$rootdir/public/groups" mkdir -p "$rootdir/public/keys" echo "<h1>Gruppen</h1>" > public/index.html for grouppath in "$rootdir/groups/"*; do group=$(basename "$grouppath") echo "Group $group" echo "<li><a href=\"groups/$group\">$group</a></li>" >> public/index.html echo "# Gruppe $group https://pages.freifunk-stuttgart.net/firmware/ssh-keys" > "$rootdir/public/groups/$group" for memberpath in "$rootdir/groups/$group/"*; do member=$(basename "$memberpath") echo " Member $member" memberkeyfile="$rootdir/keys/$member" if [ ! -f "$memberkeyfile" ]; then echo " ERROR: Could not find keys for '$member' in '$memberkeyfile'" exit 1 fi echo "# $member" >> "$rootdir/public/groups/$group" cat "$rootdir/keys/$member" >> "$rootdir/public/groups/$group" done done # explicitly unset loop variables to prevent accidental reuse unset member memberkeyfile memberpath group echo "<h1>Nutzer*innen</h1>" >> public/index.html for keypath in "$rootdir/keys/"*; do user=$(basename "$keypath") echo "<li><a href=\"keys/$user\">$user</a></li>" >> public/index.html echo "# $user" >> "$rootdir/public/keys/$user" cat "$rootdir/keys/$user" >> "$rootdir/public/keys/$user" done