#!/usr/pkg/bin/bash #DOC MAINDIR specifies where the script begins to build gophermaps from. #DOC HEADER is printed at the top of each gophermap #DOC FOOTER is printed at the end of each gophermap MAINDIR="$HOME/gopher" HEADER="Welcome to my gopherspace ____ ____ _ _ _ | \| _ \| | | | | | | | | | | | | | |_|_|_|_| |_|\____/ " FOOTER=" Thanks for using _ _ ._ |_ _ ._ (_| (_) |_) | | (/_ | _| | " #DOC Gopher File Codes #DOy 0 text file #DOC r directory #DOC 3 error message #DOC 5 archive file (zip, tar etc) #DOC 7 search query #DOC 8 telnet session #DOC 9 binary file #DOC g GIF image #DOC h HTML file #DOC i info text #DOC I generic image file (other than GIF) #DOC d document file (ps, pdf, doc etc) #DOC s sound file #DOC ; video file #DOC c calendar file #DOC M MIME file (mbox, emails etc) #DOC function gophref - 3 Args filetype, selector, name #DOC The filetypes are well defined at this URL #DOC https://github.com/michael-lazar/hn-gopher/blob/master/hn-gopher/opt/gophernicus_2.4/READM #DOC function gophref(){ if [ -z "$1" ] && [ -z "$2" ];then exit -100 elif [ -z "$2" ];then echo "$1$2 $2"; else echo "$1$3 $2"; fi } function gopHeader(){ if [ -z "$2" ];then headerWidth=40 else headerWidth=$2 fi lineSegment="" for ((i=1;i<$headerWidth; i++)) do lineSegment="-$lineSegment" done echo "$lineSegment" printf "%*s" $(((${#1}+$headerWidth)/2)) "$1" printf '\n' echo "$lineSegment" } echo "$HEADER" gopHeader "PHLOG Posts" gophref 0 TextFile "Big Times" gopHeader "Looking for more? Check these out." gophref 1 2021-04-16 "More Offgrid Fun" gophref 0 OldStuff "Older Stuff" echo "$FOOTER"