#!/bin/sh
set -eu
BASE="${ROUTER_OPS_BASE:-/opt/router-ops}"
PUBLIC="$BASE/public"
TOKEN_FILE="${ROUTER_PUBLIC_TOKEN_FILE:-$PUBLIC/.router-public-token}"
TOKEN="${ROUTER_PUBLIC_TOKEN:-}"
if [ -z "$TOKEN" ]; then
TOKEN="$(cat "$TOKEN_FILE")"
fi
ROOT="${ROUTER_PUBLIC_ROOT:-$PUBLIC/r/$TOKEN}"
LATEST="$ROOT/latest"
OLD="$ROOT/old"
mkdir -p "$LATEST" "$OLD"
chmod 755 "$ROOT" "$LATEST" "$OLD"
html_index() {
DIR="$1"
TITLE="$2"
PARENT="$3"
TMP="$DIR/index.html.tmp.$$"
{
echo '
'
printf '%s\n' "$TITLE"
printf '%s
\n\n' "$TITLE"
find "$DIR" \
-mindepth 1 \
-maxdepth 1 \
! -name index.html \
! -name 'index.html.tmp.*' \
-printf '%f\n' |
LC_ALL=C sort -r |
while IFS= read -r NAME; do
[ -n "$NAME" ] || continue
if [ -d "$DIR/$NAME" ]; then
printf '- %s/
\n' "$NAME" "$NAME"
else
printf '- %s
\n' "$NAME" "$NAME"
fi
done
echo '
'
printf 'Back
\n' "$PARENT"
echo ''
} > "$TMP"
chmod 644 "$TMP"
mv -f "$TMP" "$DIR/index.html"
}
html_index "$LATEST" 'WG Paid / MGTS — latest' '../'
html_index "$OLD" 'WG Paid / MGTS — old' '../'
ROOT_TMP="$ROOT/index.html.tmp.$$"
{
echo 'WG Paid / MGTS publications'
echo 'WG Paid / MGTS publications
'
echo ''
echo ''
} > "$ROOT_TMP"
chmod 644 "$ROOT_TMP"
mv -f "$ROOT_TMP" "$ROOT/index.html"
echo "INDEX=$ROOT/index.html"
echo "LATEST_INDEX=$LATEST/index.html"
echo "OLD_INDEX=$OLD/index.html"