diff --git a/scripts/genindex.sh b/scripts/genindex.sh new file mode 100755 index 0000000..a6c91bf --- /dev/null +++ b/scripts/genindex.sh @@ -0,0 +1,44 @@ +#!/bin/bash + + +function ucase +{ + echo "$1" | tr '[:lower:]' '[:upper:]' +} + +function lcase +{ + echo "$1" | tr '[:upper:]' '[:lower:]' +} + +function mkindex +{ + TMPFILE=$(mktemp -t $(basename $0)) || exit 1 + sed 's/[^a-zA-Z0-9_.:$]//g' | awk -F ':' '{printf "[%s](%s#%s)\n", $3, $1, $3}' | sort -d -f -u >> $TMPFILE + alpha="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" + for a in $alpha; do + echo -n "[$a](#$(lcase "$a")) " + done + echo + for a in $alpha; do + links=$(cat $TMPFILE | grep -i "^.[$(lcase "$a")]") + if [ "$links" != "" ]; then + echo "### $(ucase "$a")" + echo "$links" + echo + fi + done + rm -f $TMPFILE +} + + +( + echo "# Belfry OpenScad Library Index" + ( + grep 'Constant: ' *.scad + grep 'Function: ' *.scad + grep 'Function&Module: ' *.scad + grep 'Module: ' *.scad + ) | mkindex +) > BOSL2.wiki/Index.md +