Bugfixes for cheat sheet generation.

This commit is contained in:
Garth Minette 2020-09-01 00:54:27 -07:00
parent 38a4c12032
commit cb36b5d94f
3 changed files with 55 additions and 50 deletions

View file

@ -41,6 +41,11 @@ jobs:
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE
./scripts/genindex.sh ./scripts/genindex.sh
- name: Generate Cheat Sheet
run: |
cd $GITHUB_WORKSPACE
./scripts/gencheat.sh
- name: Generating Docs - name: Generating Docs
env: env:
GH_PAT: ${{ secrets.GH_PAT }} GH_PAT: ${{ secrets.GH_PAT }}

View file

@ -16,50 +16,52 @@ function columnize
cols=4 cols=4
TMPFILE=$(mktemp -t $(basename $0).XXXXXX) || exit 1 TMPFILE=$(mktemp -t $(basename $0).XXXXXX) || exit 1
cat >>$TMPFILE cat >>$TMPFILE
totcnt=$(wc -l $TMPFILE | awk '{print $1}') if [[ $(wc -l $TMPFILE | awk '{print $1}') -gt 1 ]] ; then
maxrows=$((($totcnt+$cols-1)/$cols)) totcnt=$(wc -l $TMPFILE | awk '{print $1}')
maxcols=$cols maxrows=$((($totcnt+$cols-1)/$cols))
if [[ $maxcols -gt $totcnt ]] ; then maxcols=$cols
maxcols=$totcnt if [[ $maxcols -gt $totcnt ]] ; then
fi maxcols=$totcnt
cnt=0
hdrln1="| $(ucase $1) "
hdrln2='|:-----'
n=1
while [[ $n -lt $maxcols ]] ; do
hdrln1+=' |  '
hdrln2+=' |:------'
n=$(($n+1))
done
hdrln1+=' |'
hdrln2+=' |'
n=0
while [[ $n -lt $maxrows ]] ; do
lines[$n]=""
n=$(($n+1))
done
col=0
while IFS= read -r line; do
if [[ $col != 0 ]] ; then
lines[$cnt]+=" | "
fi fi
lines[$cnt]+="$line" cnt=0
cnt=$(($cnt+1)) hdrln1="| $(ucase $1) "
if [[ $cnt = $maxrows ]] ; then hdrln2='|:-----'
cnt=0 n=1
col=$(($col+1)) while [[ $n -lt $maxcols ]] ; do
fi hdrln1+=' |  '
done <$TMPFILE hdrln2+=' |:------'
rm -f $TMPFILE n=$(($n+1))
done
hdrln1+=' |'
hdrln2+=' |'
n=0
while [[ $n -lt $maxrows ]] ; do
lines[$n]=""
n=$(($n+1))
done
col=0
while IFS= read -r line; do
if [[ $col != 0 ]] ; then
lines[$cnt]+=" | "
fi
lines[$cnt]+="$line"
cnt=$(($cnt+1))
if [[ $cnt = $maxrows ]] ; then
cnt=0
col=$(($col+1))
fi
done <$TMPFILE
rm -f $TMPFILE
echo echo
echo $hdrln1 echo $hdrln1
echo $hdrln2 echo $hdrln2
n=0 n=0
while [[ $n -lt $maxrows ]] ; do while [[ $n -lt $maxrows ]] ; do
echo "| ${lines[$n]} |" echo "| ${lines[$n]} |"
n=$(($n+1)) n=$(($n+1))
done done
fi
} }
function mkconstindex function mkconstindex
@ -84,14 +86,12 @@ CHEAT_FILES=$(grep '^include' std.scad | sed 's/^.*<\([a-zA-Z0-9.]*\)>/\1/'|grep
echo echo
echo '( [Alphabetic Index](Index) )' echo '( [Alphabetic Index](Index) )'
echo echo
(
grep -H '// Constant: ' $CHEAT_FILES | mkconstindex
grep -H '^[A-Z$][A-Z0-9_]* *=.*//' $CHEAT_FILES | mkconstindex2
) | sort -u | columnize 'Constants'
for f in $CHEAT_FILES ; do for f in $CHEAT_FILES ; do
( egrep -H '// Function: |// Function&Module: |// Module: ' $f | mkotherindex | sort -u | columnize $f
(
grep -H 'Constant: ' $f | mkconstindex
grep -H '^[A-Z$][A-Z0-9_]* *=.*//' $f | mkconstindex2
) | sort -u
egrep -H 'Function: |Function&Module: |Module: ' $f | mkotherindex
) | columnize $f
echo echo
done done
) > BOSL2.wiki/CheatSheet.md ) > BOSL2.wiki/CheatSheet.md

View file

@ -8,7 +8,7 @@
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
BOSL_VERSION = [2,0,417]; BOSL_VERSION = [2,0,418];
// Section: BOSL Library Version Functions // Section: BOSL Library Version Functions