#!/bin/sh # mkgemref.sh Script to generate needed gemini index.gem file; entries # are of the following form, sorted by type: # # "=> DoomerRefDoc.{txt,pdf,ogg} [TAB] Doomer Ref Doc (TYP)" # # which renders in gemini as # # "[N] Doomer Ref Doc (TYP)" # gemdesc() { # reformat filenames: insert spaces between words - except "CO2" - and show file (type): echo "$1" | \ sed '{ s/[A-Z]?([A-Z])/ &/g s/[A-Z][a-z]/ &/g s/_/ /g s/[+-]/ & /g s/[0-9][0-9]*/ & /g s/CO 2/ CO2/g s/\..*$/ \(&\)/ s/\.// s/ / /g }' } # Be sure to change to refs directory.. cd $HOME/public_gopher/refs GHEADR=header.gmi GINDEX=index.gmi #GINDEX=test.gmi cat $GHEADR > $GINDEX for REF in *.txt *.pdf *.ogg do printf '=> %s\t%s\n' "$REF" "$(gemdesc $REF)" >> $GINDEX done