#!/bin/sh # # .mkindex.sh - Script acquires a list of files to be # processed from the current directory # and generate an index.html and even an # all-index.html file (there's a list of # core names to suppress in the .hide file # that won't be placed in the default # index file). # Author: Jack C Lipton, cupasoup@pele.cx # # $Id: .mkindex.sh,v 1.21 2005/02/15 02:20:46 jcl Exp jcl $ # $Log: .mkindex.sh,v $ # Revision 1.21 2005/02/15 02:20:46 jcl # added logic to generate an index file of incomplete works... # # Revision 1.20 2005/01/21 06:03:32 jcl # modified the "other author" and "collection" links and corrected the # ASSTR "Donate" button graphic to use the one on pele. # # Revision 1.19 2004/12/18 19:50:11 jcl # futher fine-tuned the difference between index and all-index # # Revision 1.18 2004/12/18 19:46:46 jcl # a whole raft of minor corrections that I put off checking in. # # Revision 1.17 2004/07/10 12:59:10 jcl # added some fairly cosmetic items. # # Revision 1.16 2004/07/03 14:06:47 jcl # added all kinds of stuff and deferred the save too damn long. # # Revision 1.15 2003/12/31 01:14:09 jcl # corrected some of my mistakes in trying to make it quicker. # # Revision 1.14 2003/12/27 14:36:11 jcl # performance changes made and the RCSINFO part of the file has been changed. # # Revision 1.13 2003/12/27 13:52:10 jcl # changed to handle new NiS index page since it's been relocated. # # Revision 1.12 2003/11/10 18:09:39 jcl # added link to personally liked spotlights # # Revision 1.11 2003/10/16 16:36:02 jcl # Yet more tuning of webpage contents. I really need to break out the # list of links to external files and think about grouping stories into # other index files, just to cut down on the clutter of this page. # # Yeah, there's a lot missing in terms of aesthetics, but this page is # designed to be as accessible as possible by avoiding the use of # graphics. # # Revision 1.10 2003/10/16 15:59:49 jcl # dropped extraneous HR line and changed to "true" copyright symbol. # # Revision 1.9 2003/10/16 15:33:22 jcl # moved link to maintenance script info _and_ dropped extraneous stuff. # # Revision 1.8 2003/09/29 20:38:13 jcl # added Reader Spotlight link to index page # # Revision 1.7 2003/07/14 12:49:54 jcl # added handling for the Palm e-Book formats # # Revision 1.6 2003/05/24 17:00:02 jcl # moved the date info around a little bit and some other bullshit that # doesn't affect the way things look. # # Revision 1.5 2003/05/05 14:42:17 jcl # added a timestamp to the index file # # Revision 1.4 2003/04/27 20:54:36 jcl # added more "useful" links # # Revision 1.3 2003/04/25 02:41:53 jcl # added logic to provide RCS information in the index file # # Revision 1.2 2003/03/14 21:19:16 jcl # updated for cleaner sectioning # # Revision 1.1 2003/01/20 21:14:48 jcl # Initial revision # # HTML=index.html # target file INFO=.sort TMP=/tmp/mkindexT.$$ ICQPAGE=jclICQ.html # ICQ Panel file, pasted from ICQ CVPAGE=CV.html # Curriculum Vitae (yeah, right) HUMORPAGE=Humor.html # Potentially humorous material EMAILTO=cupasoup@pele.net # Author's e-Mail # # Here's the index file prefix. You can tell that I like # shell "here" documents, can't you? # cat >${HTML}+ < Jack C Lipton's Story Page

Jack C Lipton's Story Page



Email Me ICQ#: 174178749
INDEXHTML # # ICQ Panel is optional- named and existing # false && [ ! -z "$ICQPAGE" ] && [ -f $ICQPAGE ] && \ cat >>${HTML}+ <panel)
INDEXHTML # # CV (Background) Page optional - named and existing # [ ! -z "$CVPAGE" ] && [ -f $CVPAGE ] && \ cat >>${HTML}+ <More Personal information: CV
INDEXHTML # # A humor page is optional, but must be both named and exist # [ ! -z "$HUMORPAGE" ] && [ -f $HUMORPAGE ] && \ cat >>${HTML}+ <Potentially Humorous Items: Humor
INDEXHTML # # Insert the baseline for w/ some "favorites" and the like # cat >>${HTML}+ <
Last Modified: `date`
There is a page w/ stories sorted in reverse chronological order here .

Additionally, I maintain a Diary .

Warning: Caveat Lector

This page links to adult material.

If you are under 18 years of age you really
*should* use the "BACK" button to leave NOW.

If you live somewhere where the perusal
of adult-oriented material is illegal it
might be time to consider a revolution.
For now, though, hit the "BACK" button.

Material linked here likely to be offensive to
*somebody*. If you're uncomfortable with sex
and sexual issues, you also should "BACK" out
of this page too. It's your choice to proceed.

You have been warned.


ASSTR

Useful Links


Other Resources

A set "plucker" compatible PDB files (for Palm Viewing) of this (and selected other) site(s) may be found on: Palm Resources.

Please note that all-index includes more of my incomplete or otherwise fragmentary works, many of which I believe to not be ready for prime time.

Of more embarrasing note is the inc-index of story files that are incomplete. An incomplete series will not be listed.


And now for a word from our sponsor...

asstr-mirror.org is kind enough to consider hosting my written works to be effectively in lieu of payment; if I had currency I could funnel into the accounts needed to pay for space/power/AC and bandwidth, I would do so (but My Finer Half keeps track of cash flows too closely).


So... please donate.


Thank you.


My Stories

Please Note: My preferred themes are fairly narrow given the quantity of things that squick me. I also like the idea of romance despite my poor showing in Real Life, which kind of conflicts with the old "in-out, in-out" some may prefer to read.

An astute reader will realize that my protagonist is not, well, completely "with it" and has problems to overcome. A case of art reflecting life.

Warning:

Many of the stories you find on this website will fall into the following rating:

D The author has voluntarily coded this story D. It contains adult themes of such sticky sweetness that Insulin may be required to prevent Diabetic Coma. Please comply with age and content restrictions for your locality.



INDEXHTML # # OK, here's where the fun begins. We copy the prefix to # the all-index file to reduce the points of maintenance. # # Yes, I *am* that lazy. # cp ${HTML}+ all-${HTML}+ cp ${HTML}+ inc-${HTML}+ # # This works through the file names. If I really wanted # to be subtle I'd probably map each file into the titles # and sort against that. Perhaps another day I'll do so. # But not today, obviously. Again, I slapped this together # pretty quickly. # >$INFO # make sure the file is empty echo "Bringing in header information:" for F in *.x do echo -e "\r \r$F \c" # isolate name so we can check whether this should be displayed CORENAME=`echo $F | awk -F. '{print $1}'` # independant of ext #CORENAME=`basename $F .x` # # grab information from the SHS headers... # This is most convenient using the text file... # TITLE="`head -15 $F | grep '^Title: ' | sed 's/^Title: //'`" INCOMPLETE="`echo "$TITLE" | grep -i incomplete | wc -l | sed 's/ *//'`" if [ $INCOMPLETE != 0 ] then TITLE=`echo "$TITLE" | sed 's/ ([Ii]ncomplete)//'` fi MAINTTL="`echo $TITLE | sed 's/:..*$//'`" SUBTTL="`echo $TITLE | sed 's/^..*: //'`" if [ "$MAINTTL" = "$SUBTTL" ] then SUBTTL="" fi if [ -z "$TITLE" ] then # # If SHS headers not in place we'll need to cheat. # This does that. (I hope) # TITLE=`head -15 $F | grep -v '^$' | head -1 | sed 's/^[ ][ ]*//'` PART="" CODES="" SUMMARY="" UNIVERSE="" RCSVERSION= RCSCHGDATE= RCSCHGTIME= RCSINFO= WORDS=`cat $F.wc` # grab the word count else PART="`head -15 $F | grep '^Part: ' | sed 's/^Part: //'`" CODES="`head -15 $F | grep '^Keywords: ' | sed 's/^Keywords: //'`" SUMMARY="`head -15 $F | grep '^Summary: ' | sed 's/^Summary: //'`" UNIVERSE="`head -15 $F | grep '^Universe: ' | sed 's/^Universe: //'`" [ "$UNIVERSE" = "n/a" ] && UNIVERSE= RCSLINE="`head -15 $F | grep '^RCS: ' | sed 's/RCS: \$Id: //'`" if [ ! -z "$RCSLINE" ] then RCSVERSION="`echo $RCSLINE | awk '{print $2}'`" RCSCHGDATE="`echo $RCSLINE | awk '{print $3}'`" RCSCHGTIME="`echo $RCSLINE | awk '{print $4}'`" RCSINFO="$RCSCHGDATE $RCSCHGTIME $RCSVERSION" else RCSINFO= fi WORDS=`cat $F | wc -w` # count the words fi echo "$CORENAME|$UNIVERSE|$MAINTTL|$PART|$SUBTTL|$CODES|$SUMMARY|$WORDS|$INCOMPLETE|$RCSINFO" >>$INFO done echo -e "\r \r\c" # # OK, we have extracts of all files now in $INFO; We'll sort this # by the universe & title... # cp $INFO $INFO.raw sort -t '|' +1 $INFO >${INFO}+ cutover $INFO cp $INFO $INFO.sorted FILES=`cat $INFO | awk '-F|' '{print $1}'` # sorted list of files # # Now we'll build the actual linkages for the web page from the sorted # file- which simplifies matters enormously... # INLIST=0 # record that we've got a UL in place LASTSECTION= for CORENAME in $FILES do >$TMP # isolate name so we can check whether this should be displayed F=$CORENAME.x # text version of file WF=$CORENAME.html # HTML version of file SORTLINE="`grep "^$CORENAME|" $INFO`" HIDDEN=`grep "^$CORENAME$" .hide | wc -l` echo -e "$F ... \c" >/dev/tty # echo "$CORENAME|$UNIVERSE|$MAINTTL|$PART|$SUBTTL|$CODES|$SUMMARY|$WORDS|$INCOMPLETE|$RCSINFO" MAINTTL="`echo $SORTLINE | awk '-F|' '{print $3}'`" PART="`echo $SORTLINE | awk '-F|' '{print $4}'`" SUBTTL="`echo $SORTLINE | awk '-F|' '{print $5}'`" CODES="`echo $SORTLINE | awk '-F|' '{print $6}'`" UNIVERSE="`echo $SORTLINE | awk '-F|' '{print $2}'`" SUMMARY="`echo $SORTLINE | awk '-F|' '{print $7}'`" WORDS="`echo $SORTLINE | awk '-F|' '{print $8}'`" INCOMPLETE="`echo $SORTLINE | awk '-F|' '{print $9}'`" RCSINFO="`echo $SORTLINE | awk '-F|' '{print $10}'`" # # Report the title associated with the file name # echo -e "$MAINTTL $PART $SUBTTL \c" >/dev/tty # # We encapsulate the following to reduce the need for # individual redirections of stdout; Also, it goes to # a temporary file so that it can be conditionally # appended to the index files under construction... # SECNAME="`echo $UNIVERSE | awk '{print $1}'`" # echo "$WF [$LASTSECTION] > [$UNIVERSE] > [$SECNAME]" >>.log/mkindex if [ -z "$LASTSECTION" ] || [ "$LASTSECTION" != "$SECNAME" ] then ( if [ $INLIST != 0 ] then echo -e "

\n" INLIST=0 fi [ "$UNIVERSE" = "n/a" ] && UNIVERSE="Nothing Special" [ -z "$UNIVERSE" ] && UNIVERSE="Other (unspecified)" echo -e "

$UNIVERSE

\n