BOSL2/scripts/genindex.sh

45 lines
939 B
Bash
Raw Normal View History

2019-07-18 06:23:17 +00:00
#!/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