BOSL2/scripts/genindex.sh

46 lines
981 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
{
2020-06-20 02:55:14 +00:00
TMPFILE=$(mktemp -t $(basename $0).XXXXXX) || exit 1
2019-07-19 04:58:41 +00:00
sed 's/([^)]*)//g' | sed 's/[^a-zA-Z0-9_.:$]//g' | awk -F ':' '{printf "- [%s](%s#%s)\n", $3, $1, $3}' | sort -d -f -u >> $TMPFILE
2019-07-18 06:23:17 +00:00
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
2019-07-18 06:36:55 +00:00
echo
2019-07-18 06:23:17 +00:00
for a in $alpha; do
2019-07-18 06:36:55 +00:00
links=$(cat $TMPFILE | grep -i "^- .[$(lcase "$a")]")
2019-07-18 06:23:17 +00:00
if [ "$links" != "" ]; then
echo "### $(ucase "$a")"
echo "$links"
echo
fi
done
rm -f $TMPFILE
}
(
2019-07-19 04:58:41 +00:00
echo "## Belfry OpenScad Library Index"
2019-07-18 06:23:17 +00:00
(
grep 'Constant: ' *.scad
grep 'Function: ' *.scad
grep 'Function&Module: ' *.scad
grep 'Module: ' *.scad
) | mkindex
) > BOSL2.wiki/Index.md