The True Directory

Last Update: July 24, 2001

 

Have you ever wondered how the Stars! Directory is maintained?  Probably not, but if you are here, maybe you decided you might be interested.

When I first created the Directory, I made it with Microsoft Excel and FrontPage Express.  That may seem like an odd combination, but Excel was very good for helping me sort the original tables (alphabetically or score-wise).  I quickly abandoned Excel after the Directory was completed because it generated HTML that needed a lot of cleaning up.

When I moved back to the US in 1999, I started maintaining the site with FrontPage 2000.  That was a major step up that allowed me to correct a lot of mistakes, find duplicate entries, and more.  As the Directory grew, even maintaining it with FP2000 became a pain.

In March 2000, I began programming my own database, the Directory Generator, to maintain the Directory for me.  I wrote the program in Visual C++.  All of the site and page data are stored in two text files (when I was writing this, the two files were a little over 100k each).  Now, the regularly updated pages are maintained by the Directory Generator.  The rest of the pages still use FrontPage 2000 (which is definitely easier to use on pages that do not need to reference the database).

 

The Entries

Below is a screen capture of what I see when I am looking at a site.

Most of the utility should be fairly self explanatory, but I will mention a few items.  The ID is of course a unique ID for each entry (used for bookmarks and the rare occasion when there are two entries with the same name).  The checkboxes to the left of the address field allow me to instantly change the status of a site (very convenient).  The checkboxes below tell the editor what versions of Stars! the site covers (note that "Apocalypse" is the final sequel to Stars! - whether it keeps that name or not is not important).  At created, you can see April 8, 2000.  Of course Mare Crisium is older than that; however, any site for which I do not have the creation date has the date that I first put it into the database.

The buttons on the left-hand side of the window allow quick navigation through the entries and help for updating the Directory.  The main entry is usually used for the "Main List page" text review; however, not all records are sites.  Some are HTML code for the page scripts (see below).  In those cases, the HTML code is placed in the main entry.  Secondary items are entries for the 40 plus tables used throughout the site.  The page name is the first part, the second part of the name is the table name.  In the page names, ST stands for Stars!, SN for Supernova Genesis (which was just Supernova when I wrote the utility), and AL for all.  I have selected the general news category so that you can see how I deal with multiple entries.  Anything surrounded by "$!" and "!$" is a script tag that the generator will either convert into HTML or use to process the entry.  In this case, you see a date tag, followed by a formatting tag (instructing the generator not to automatically add a name), and then an external link tag.

Mare Crisium right now is unique in that it is the only site that uses the special commands function.  The script you see tells the generator to list Mare Crisium as Waypoint Zero on Stars! 2.x pages and as Mare Crisium on other pages.

 

 

Page Code

The scripts that generates the pages are a lot harder to read.  They are primarily a collection of HTML and script tags.  Below is the script that creates the Main List.  The tag $!ME:???!$ tells the generator to look up a particular entry and then just replace the tag with the code from that entry.  That allows me to change code common to all the pages very quickly. 

The "\n" is simply a tag to make the code easier for me to read.  In the HTML generated by generator, the line breaks you see below do not appear (in order to optimize the size of the files generated). 

"<<TABLE: . . . .>> is the script that generates the main list.  It tells the generator what the basic type of table on which it is working, details on the HTML code, and which options to use (for this table: references to time are time last visited, split the table into smaller tables, sort the entries by score, and add a bit of code that will generate the graphics marking sites that have information on Supernova Genesis).

In order to make things a little easier, I have color coded the script so that you can easily separate the script tags from the real HTML that is included.

 

$!ME:HTML Head!$\n

$!ME:HTML CSS!$\n

<title>The Stars! Directory: The Main List</title></head>\n

$!ME:HTML Body!$\n

$!ME:HTML MailBox Code!$\n

<div Align="Center">\n

<img SRC="images/links.jpg" ALT="The Main List" WIDTH="279" HEIGHT="53"><p>$!ME:HTML Font Front!$<font COLOR="#00FF00">Please read </font><a HREF="ratings.htm">this</a><font COLOR="#00FF00"> for details on the scoring system.</font></p>
\n

<<TABLE:Main;{SN};{<table BORDER="1" CELLPADDING="3" CELLSPACING="1" WIDTH="600" BORDERCOLOR="#C0C0C0" BORDERCOLORDARK="#000000" BORDERCOLORLIGHT="#FFFFFF">};{<tr><td WIDTH="27%"><p ALIGN="center"><font COLOR="#FF0000" SIZE="5">$!ME:HTML Font Front!$Site</font>$!ME:HTML Font Back!$</td><td WIDTH="55%"><p ALIGN="center"><font COLOR="#FF0000" SIZE="5">$!ME:HTML Font Front!$Text Review$!ME:HTML Font Back!$</font></td><td WIDTH="17%"><p ALIGN="center"><font COLOR="#FF0000" SIZE="5">$!ME:HTML Font Front!$Overall Rating$!ME:HTML Font Back!$</font></td></tr>};{$!ME:HTML Font Front!$||$!ME:HTML Font Back!$}{$!ME:HTML Font Front!$||$!ME:HTML Font Back!$}{<p ALIGN="center">$!ME:HTML Font Front!$||$!ME:HTML Font Back!$</p>
}; Time=Visit;Sort=Score;Separate;Add="$!CRI:VER,,N,,ME:HTML NovaTag!$";>>
<br>
<br>

\n

<p><strong>$!PG:To the Almost Dead Page,,Almost Dead.AL!$</p>
<a HREF="grave.htm"><strong>To the Stars! Graveyard</strong></a></p>
<p>&nbsp;</p>

\n

<p>$!ME:HTML Update!$</p>
\n

<p>If I am missing any sites, please let me know.</p>
<p>
$!ME:HTML Contact!$</p>
<p>&nbsp;</p>

\n

$!ME:HTML Back To Main!$\n

$!ME:HTML Font Back!$</body></html>

 

 

Contact Me

 

Back to the Main Page