title:pagemaker:pagemaker:Software:Web Page Maker main:Web Page Making Tool page:index:Web Page Making Tool This is the tool I use to create most of the web pages on this site (including the ones you are reading now). It takes a description file and generates a set of web pages. If photos are referenced, then you will need the PNM toolset to create the small and large versions of the photos. page:download:Dowloads page:webby:Web Page Maker This is a Perl script which takes a configuration file and generates web pages from it. As an example, take a look at the config file which generated these pages.

There are 6 special tags that can be used. Everything else is placed verbatim into the appropriate web page and so all HTML syntax is valid. Be careful, however, not to begin a line with one of the special tags (though they need to be immediately followed by a colon to be treated as a tag).

The special tags are:

photosrc:DIRECTORY-SPEC
The location of the original photos used on these pages (this is currently not used but a future version will take these photos and run the imgconv script to generate the images actually used in the pages).
title:NAME:DIRECTORY:TITLE
This is used to specify the entry page for the set. A file NAME.html will be generated in the current directory and all referenced pages will be created in DIRECTORY and TITLE will be used in the <title> tag in each generated page.
main:HEADING
This text will be used as the main heading in the front page for this set.
page:FILE:HEADING
All the following contents up to the next page tag will go into the file FILE.html in the directory specified by the title tag. The front page will also get a hyperlink to the file using this HEADING which will also form the main heading for this page.
tag:TAG
Normally, each generated page uses the HEADING text to generate links forward and backwards. If that text is overly long, then this tag allows you to specify a shorter form.
photo:PHOTO
The contents up to the next photo or page tag will be used as a caption for the specified image. It is expected that there exists both DIRECTORY/small/PHOTO (used inline in this page) and DIRECTORY/pics/PHOTO (displayed when the smaller image is selected). The imgconv application generates both of these from the original at appropriate sizes.
Here is a further example of a config file which was used to generate pages of my holiday to Kenya. page:imgconv:Image Converter This is a script to take original images and generate the images used by the web pages created. This script must be run once for each image supplying the image file and the base directory for the resulting web pages.

The base directory used and subdirectories small and pics will be created if they do not already exist.

The original will be scaled to generate a small image which is no more than 256 pixels wide and 192 pixels high (maintaining aspect ratio) and a larger image no more than 1024 pixels wide and 768 pixels high. The images created will be the largest that fir these criteria.

The script uses jpegtopnm, pnmscale and ppmtojpeg from the PPM toolset. These also have the advantage of generating quite small files by using JPEG compression techniques without noticably degrading image quality which helps prevent your pages from taking too long to download for users.

Note that the script was designed to use the bash shell and the first line should be edited to reflect this shell's location on your site. If you do not have bash, then you should be able to use the korn shell (ksh) instead.