Location: PHPKode > scripts > Robo Pages directory bot > robo-pages-directory-bot/README.html
<head> <title> robopage readme </title>
<link rel=stylesheet type=text/css href=robopage.css>

<font size="+1">
<br><h2> Robopage: an automatic, directory-based page generator. </h2>  
<br>Robopages is now recursive. IE it will now drill down into a directory
<br>structure, building pages complete with Up links that allow navigation back
<br>up to the start dir, but not above. 
<br>Place robopage_classes.php, robopage.css and invocation_demo.php 
<br>in any directory containing images, html pages and/or misc files.
<br>Text files are displayed with a framesLayout manager--so long
<br>text files can be scrolled without losing track of left-side
<br>navigation links. Images whose width or height is > 500 pixels
<br>are also displayed with the framesLayout manager, else they are
<br>displayed with with the tablesLayout manager.
<br><b>Note:</b> This code does not (apparently) work under
php installed on windows boxes. I don't have access 
to a windows server, so I haven't been able to debug this.
In order to make pittendrigh_pages work on windows, it
will probably require a subclass, that handles the paths
differently. If you get this to work, please let me know.
<br><li><b>Optional CSS Editor</b></li>
Try <b>robopage_CSSEditor.php</b>. This is a <br>
css editor that instantiates a robopage and then <br>
displays any interactive adjustments to the css file <br>
in real time. This program rewrites your current css
program at startup, so beware: backup your css file
before you start robopage_CSSEditor.php. You must make
the robopage.css file editable by the webserver process:
chown wwwrun.nogroup robopage.css or
chmod 777 robopage.css
<br><li><b>Optional Per Directory keywords</b></li>
To make a custom keywords string for the header 
<br>(of all pages in a directory), make a text file whose name is 'keywords', 
<br> whose contents is just a comma separated keyword string.

<br><li><b>Image Captions</b></li>
To make a caption appear below an image, make a simple text file
<br>whose name is the same as its corresponding image, with suffix "cap"
<br>Fran.jpg would have a caption file called Fran.cap

<br><li><b>Htm Fragments</b></li>
To make any custom-built rightside display, make an htm fragment file, with
<br> suffix htm (rather than file suffix html).
<br> Htm fragment files contain no html, head or body tags, 
<br> but all other html tags are fair game. Htm fragments
<br> are placed inside a table cell, inside a rightside display
<br> panel, with the tablesLayout manager.

<br><li><b>Independent Html Pages</b></li>
Fully independent html files (that do include html, head and
<br>body tags) will be rendered inside a rightside frame, using
<br>the framesLayout manager. The leftside frame will still contain
<br>links to all other files in the directory, thus maintaining
<br>a common, coherent look-and-feel among all pages in the collection.
<br><li><b>Text Files</b></li>
To list and display simple text files, copy any text files into the 
<br> current directory, with a &nbsp; ".txt" &nbsp; file suffix

<br><li><b>Remote Urls</b></li>
To make clickable left-side links to external sites, that popup in a 
<br> new window, make a file with a ".url" file suffix, 
<br> where the contents of that file is one text line,
<br> containing the url to jump to. 
<br>montana_riverboats_url.php would contain one line in the file, the url
<br>you want to redirect to: <br>

<br><li><b>Framed Urls</b></li>
To make clickable left-side links to external sites (<i>or</i>
<br> to output from local scripts) that appear in a rightside
<br> frame,  make a file with ".furl" file suffix, 
<br> where the contents of that file contains one line:
<br> nobelprize.furl might contain:

<br><li><b>Optional top and bottom panels</b></li>
To make an optional top panel (tableLayout Manager only,
<br>no such options exist yet, when using the frames version) 
<br>make a file called 'toppanel' that has a table definition for a
<br>top-of-the-page header.
<br>For instance, a file called toppanel might contain just the following line:
<br>&lt;table width=100%&gt; &lt;tr&gt; &lt;td&gt; &lt;h2&gt; Optional Top Panel &lt;/h2&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
<br>A file called bottompanel might contain just the following line:
<br>&lt;table width=100%&gt; &lt;tr&gt; &lt;td&gt; &lt;h2&gt; Optional Bottom Panel &lt;/h2&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
<br><li><b>Hidden Files</b></li>
In .htm fragments and independent .html files you sometimes
<br> want to display images that don't become leftside links, make a subdirectory 
<br> called hidden. You can copy images into the hidden directory and then refer
<br> to them (inside htm or html pages) with &lt; img src=hidden/the_image.jpg &gt;
<br><li><b>Umlauts and Non-Standard Navigation Link/Labels</b><br>
<br>In general, to change the appearance of a leftside navigation link, 
<br> you change the name of the corresponding file. Robopage takes care of the rest.
<br>Pirjo Posio, from Finnland, wrote to me with a problem, however.
<br>Various letters in the Finnish laguage have umlauts (like horizontally-oriented colons, 
<br>mounted above selected vowels). Pirjo wanted her link labels to contain umlauts 
<br>--to be properly spelled--but umlauts are not allowed to appear in internet urls. 
<br>To solve this problem Pirjo suggested a new supplementary file type, recognized by 
<br>a special suffix,  that would contain the special label. Haekkinnen.jpg can be given 
<br>a special umlaut label if you create a file called Haekkinnen.lbld, where Haekkinnen.lbld 
<br>contains one line, which is the label to associate with Haekkinnen.jpg 
<br><li><b>Sorting Link Display</b></li>
In general, files found in the current directory (of recognized types) are turned
<br> into automatically generated pages, with clickable leftside links whose labels
<br> are manufactured from the file name. Underscores in the file name are turned
<br> into blanks. However, if a + (plus) is found anywhere in the filename, that
<br> + marker and everything to the left of it (in the filename) will be stripped
<br> from the link label. Further, image, htm, html and text links are sorted
<br> alphabetically, top to bottom, in the leftside links display. So, by using
<br> alphabetical but hidden prefixes in filenames, you can control the top-to-botto
<br> order in which links appear. a+Step_1.jpg would have the link "Step 1" 
<br> and it would be guaranteed to appear before b+Step_2.jpg
If you hand edit an (optional) file called robopage_conf.php you can 
<br>override the following (see below) class variables from that file. 
<br>In other words, if you copy robopage_classes.php and robopage.css 
<br>into /php/includes (or wherever your include directory is) 
<br>then, for any directory you want to display with robopages,
<br>you only need an index.php that looks like "invocation_demo.php". 
<br>For any such directory, robopage can be locally
<br>controlled by a custom-built "robopage_conf.php"
<br><li><b>File Name Warning</b></li>
Do not upload or use (in any way) files whose filenames have spaces in the name.
<br><li><b>~so_and_so/ links on unix servers </b></li>
Most webservers, on unix systems, support the 
personal home page concept. Personal home pages are turned
on and off inside httpd.conf in the server's config dirctory.
If you want to place Robopages inside a personal home page,
perhaps on a file system location like:
then you need to edit a special robopage_conf.php file that looks like
the following:

...the sys_whoami flag tells index.php (or invocation_demo.php)
to instantiate a "personal_site_page" instead of a normal
"robopage."  personal_site_page overloads a function called
fileToUrl(...) to make it all happen.

NOTE: a similar extension could probably be written to
make Robopages work inside an apache/php webserver running
on  a Microsoft Windowz machine. I don't have access to
such a machine, so I've never worked out the details.

In other words, Robopages can only be expected to work on
servers running on unix machines (linux, irix, aix, solaris, freeBSD, MacOSX, etc)
Return current item: Robo Pages directory bot