Advertisement
Nestor10

Project Stuff

Apr 23rd, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.23 KB | None | 0 0
  1. # project stuff
  2.  
  3. project(){
  4.   export PROJECT="$1";
  5.   mkdir -pv /home/$USER/projects/$1/documentation/commands;
  6.   export PROJECTDIR="/home/$USER/projects/$1";
  7. }
  8.  
  9. document(){
  10.   # Determine cmdline values
  11.   echo -n $(pwd) > /tmp/_document_cmdline1;
  12.   echo "\$ $@" > /tmp/_document_cmdline2;
  13.   # Create output file
  14.   OUTFILE=$PROJECTDIR/documentation/commands/$(date)_$(echo $@ | tr ' ' '_' | tr '/' '-').html;
  15.   touch $OUTFILE;
  16.   if [ ! -f $OUTFILE ]; then
  17.     echo "ERROR: Failed to create output file. Aborting.";
  18.     exit(1);
  19.   fi
  20.   echo "This command will be documented: ${OUTFILE}";  
  21.   cat /tmp/_document_cmdline* | aha --no-header --black > $OUTFILE;
  22.   eval $@ | {
  23.     while IFS= read -r line
  24.     do
  25.       echo $line;
  26.       OUTPUT="${OUTPUT}\n${line}";
  27.       # Build output file line-by-line while we're running
  28.       echo $line | aha --no-header --black >> $OUTFILE;
  29.       echo "<br/>" >> $OUTFILE;
  30.     done
  31.     # Rebuild output file to correct formatting
  32.     cat /tmp/_document_cmdline* > $OUTFILE.tmp;
  33.     echo "\n${OUTPUT}" >> $OUTFILE.tmp;
  34.     cat $OUTFILE.tmp | aha --line-fix --black > $OUTFILE;
  35.   };
  36.   # Cleanup
  37.   rm /tmp/_document_cmdline* $OUTFILE.tmp;
  38.   unset OUTFILE;
  39.   unset OUTPUT;
  40. };
  41.  
  42. project DEFAULT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement