indexpage.pl

indexpage.pl generates one or more index pages and the corresponding thumbnails for displaying images on the web (as of right now, only .jpg filer are recognized). If there are more images available than will fit on one page with the specified number of rows and columns, indexpage.pl will generate more than one page, each with a navigator to easily reach the other pages. By default, the pages will be called "index.html", "2.html", "3.html", and so on.

There are lots of configuration options determining how the generated pages should look (see below). Image descriptions are read from a file, eliminating the need to ever edit the files after generating them; they can always be regenerated for ease of maintaining.

indexpage.pl may be distributed according to the GNU GPL version 2 or later. See the file COPYING for more information. If you make any modifications to this, I'd like to see them.

Download

indexpage-1.0.3.tar.gz
indexpage-1.0.2.tar.gz
indexpage-1.0.1.tar.gz
indexpage-1.0.0.tar.gz

Installation

Copy indexpage.pl to where you want it. You might need to change the first line of the script to indicate where your Perl interpreter is located.

Prerequisites

Usage

indexpage.pl [options]

When started, indexpage.pl will read settings first from the standard config file, then from the user-specified config file (if any), and finally from any command line options. If the same option is specified in more than one place, the last definition is used.

The standard config file is ~/.indexpagerc. I tend to keep a config file in each of my image directories to make it easy to regenerate the pages with the same settings as last time.

Descriptions for the images are read from a file called "descriptions.txt" in the current directory. If no such file is found, one is created with the correct labels. You just need to fill in suitable descriptions for the images and rerun the script. The format of the descriptions file is one line per image, like this:

imagename Descriptive text

Note that imagename should be given without the file name suffix (".jpg") and that there must be a TAB character between the image name and the description, *not* spaces.

Options

    --title=string            Use "string" as the title of the
                              generated web pages.

    --rows=number             Generate "number" rows of thumbnails on
                              each web page. Defaults to 4.
    --cols=number             Generate "number" columns of thumbnails
                              on each web page. Defaults to 3.

    --indir=path              Use "path" to find the images. Defaults
                              to the current directory.
    --outdir=path             Put the generated web pages and images
                              in "path". Defaults to the current
                              directory. 

    --imagere=regexp          Use "regexp" to figure out what part of
                              the image file names that should be
                              used. Normally, you shouldn't need to
                              mess with this.

    --makethumbs
    --nomakethumbs            Decide whether thumbnail images should
                              be used or if the input images should be
                              put directly on the web pages. Defaults
                              to --makethumbs.

    --inplace
    --noinplace               Decide if images should be used in place
                              or if new ones should be created in the
                              output directory. If this is true,
                              outdir is set to the same as indir.
                              Defaults to --noinplace.

    --thumbsize=number        Use "number" as the maximum size for the
                              thumbnail images (for their widest
                              orientation). Defaults to 120.

    --order=list              If present, put the images specified in
                              "list" (without the file name suffix) in
                              the specified order on the generated
                              pages. It is not necessary to list all
                              images, the ones not listed will appear
                              in an unspecified order. Note that
                              creative use on the imagere option might
                              affect what is considered the file name.
                              No default.

    --configfile=file         If specified, settings will be read from
                              "file".

    --convert=file            Specify where the convert program is
                              located, if it isn't in your $PATH.
                              Defaults to "convert".

    --htmlhead=html           Specify what HTML code should be printed
                              at the beginning of each web page.
                              Defaults to:

                                  <html>
                                  <head>
                                  <title>%(title)s</title>
                                  </head>
                                  <body>
                                  <h1>%(title)s</h1>

                              You can set this to anything you like,
                              but it must be specified on one line. To
                              put line breaks in the output, write
                              "\n" in the input. "%(title)s" can be
                              used to put in the value of the title
                              option. 
    --htmlfoot=html           Specify what HTML code should be printed
                              at the end of each web page. Defaults
                              to:

                                  </body>
                                  </html>

                              The same rules apply to changing this as
                              to the htmlhead option.

    --header=text             If present, print "text" before all
                              thumbnails on each web page. Variables 
                              can be used in the same way as with the
                              htmlhead option. No default.
    --footer=text             If present, print "text" after all
                              thumbnails on each web page. Variables 
                              can be used in the same way as with the
                              htmlhead option. No default.

    --descfile=file           Use "file" as descriptions for the
                              images.
    --desc
    --nodesc                  Decide if a descriptions file should be 
                              used or not. The default is to use one.

    --index
    --noindex                 Specify if the first file generated
                              should be called "index.html" or not.
                              Defaults to --index.

    --filenameprefix          Specify a string to begin each file name
                              with. No default.

    --version                 Print the version number of
                              indexpage.pl.