Plaster

text
#!/bin/bash readonly DEFAULT_DIRECTORY=$(dirname "$(readlink -f "$0")") readonly DEFAULT_FILE=index.html ## readonly DIRECTORY=${1:-$DEFAULT_DIRECTORY} readonly FILE=${2:-$DEFAULT_FILE} function convert-files-to-links() { local links=() for file in "$@"; do local filename=$(basename "$file") links+=("<a href=\"$filename\">$filename</a>") done echo "${links[@]}" } function write-index() { local index="$1" local files=( "${@:2}" ) local links=$(convert-files-to-links "${files[@]}") cat >"$index" <<EOF <!DOCTYPE html> <html> <head> <title>Map File Listing</title> </head> <body> ${links[@]} </body> </html> EOF } function main() { shopt -s nullglob local files=("$DIRECTORY"/*.{wad,pk3}) shopt -u nullglob write-index "$DIRECTORY/$FILE" "${files[@]}" } main

Annotations