#!/bin/sh # I have this file in $GOPHER_ROOT, but it can go wherever you # like if you give an absolute path to $GOPHER_ROOT. ############# CONFIGURATION GOPHER_ROOT=/ftp/pub/users/papa GOPHER_LOG=${GOPHER_ROOT}/journal # Directory where you'll keep entries # XXX Note: the "banner" needs a fix. If you want a banner modify # by hand ${GOPHER_LOG}/gophermap, only the first time #LOG_BANNER=${GOPHER_LOG}/banner # An optional "banner" (e.g., a description) COMM_SCRIPT=${GOPHER_LOG}/comment.cgi ENTRIES_LIST=$GOPHER_LOG/entries # Genereted automatically COMM_LINK='Post a comment' MAXENTRIES=5 # Number of entries in $GOPHER_LOG's gophermap FILE_EXT=go # Extension of the auxiliary files (those with links) ENTRY_EXT=txt # Extension of original entries ############# END CONFIGURATION LOG_INDEX=${GOPHER_LOG}/gophermap TMP=${TMP:-/tmp} tmpfile=${TMP}/$(jot -r -c 18 a z | rs -g 0 18) if [ ! -d $GOPHER_LOG ] ; then mkdir $GOPHER_LOG fi if [ ! -f $ENTRIES_LIST ] ; then touch $ENTRIES_LIST fi if [ -f $LOG_INDEX ] ; then mv $LOG_INDEX $LOG_INDEX.bkp else touch $LOG_INDEX.bkp fi >$LOG_INDEX.tmp # XXX #if [ -f $LOG_BANNER ] ; then # cp $LOG_BANNER $LOG_INDEX.tmp #fi summary() { head -5 } LOG_PATH=$(echo "$GOPHER_LOG" | sed 's@/ftp/pub@@') SCRIPT_PATH="${LOG_PATH}/$(basename $COMM_SCRIPT)" #IFS=' #' for i in $(ls $GOPHER_LOG | grep "${ENTRY_EXT}$") ; do if [ $(grep -c $i $ENTRIES_LIST) -eq 0 ] ; then echo $i >> $ENTRIES_LIST else continue fi entry=${GOPHER_LOG}/$i while read line; do #Notice the leading space echo " $line" >> $tmpfile #XXX#echo "i$line error.host 1" >> $tmpfile done <$entry echo >> $tmpfile echo "7$COMM_LINK ${SCRIPT_PATH}?$i sdf.lonestar.org 70" \ >> $tmpfile echo "0Raw text ${LOG_PATH}/$i sdf.lonestar.org 70" \ >> $tmpfile echo "1Home $LOG_PATH sdf.lonestar.org 70" \ >> $tmpfile summary < $entry >> $LOG_INDEX.tmp echo "1More... ${LOG_PATH}/$i.$FILE_EXT sdf.lonestar.org 70" >> $LOG_INDEX.tmp echo >> $LOG_INDEX.tmp cp $tmpfile $entry.$FILE_EXT #XXX#sed 's/^$/i error.host 1/' $tmpfile > $entry.$FILE_EXT rm $tmpfile done cat $LOG_INDEX.tmp $LOG_INDEX.bkp > $LOG_INDEX rm $LOG_INDEX.* chmod 660 $LOG_INDEX chmod 750 $GOPHER_LOG chmod 640 ${GOPHER_LOG}/*.$ENTRY_EXT chmod 660 ${GOPHER_LOG}/*.$FILE_EXT chmod 750 $COMM_SCRIPT