Photography::Website::Configure - List of Configuration Options


This module contains the configuration logic of Photog! the photography website generator. See photog for the documentation about the command-line interface and see Photography::Website for documentation about the Perl interface.

What follows is a comprehensive list of all configuration options currently in use, with a short description of their usage and their default value.

Image variables


The image filename without the extension. Is used by the default template as the caption when the image is viewed fullscreen.


The absolute URL of the fullscreen image. This is used to calculate the image destination. Templates should use the relative URL (see next).


The relative URL of the full-size image, i.e., the image filename.


The relative URL of the image thumbnail, i.e., thumbnails/$filename.


The full path to the original image in the source directory.


The full path to the fullscreen image in the destination directory.


The path to the image thumbnail.

Album variables

There are three types of album configuration variables: static variables, dynamic variables, and inherited variables. Static variables cannot be changed from a configuration file. Dynamic variables can be set in a configuration or they are calculated dynamically. Inherited variables are either set from a configuration file, inherited from the parent, or a default value.

Static variables

The source directory.


Path to the album's photog.ini


Directory basename of the album, currently only used for debugging purposes.


The destination directory of the root album. This is always inherited from the parent album.

Dynamic variables

A slug is the part of the URL that identifies an album, e.g. The default value is the directory's name, so be careful not to use characters in directory names that are not allowed in URLs, like spaces. Or, simply override this value to choose an appropriate URL for each album.

The special value of "private" will cause a random slug to be generated consisting of 16 alphanumeric characters, which will immediately be saved to the photog.ini file, replacing the original "private" value. In addition, the variable unlisted will be set to true. Use this for creating private albums that are only accessible to people who know the secret URL.


Calculated by concatenating the parent url and the album slug. Overriding this option allows the source directories to be differently organized than the destination directories.


The album link for use inside the <a> tag in the template.


The album preview image for use inside the <img> tag in the template. Width and height will also be made available to the template.


The album's destination directory. Calculated by concatenating the root destination directory and the album's URL. Although possible, overriding this option for subdirectories is not recommended. Use the url option instead (see above).


Path to the album preview image, for use a thumbnail in the parent album. Defaults to the file all.jpg in subdirectory thumbnails inside the destination directory.


Path to to the album's index.html.


Boolean value that specifies whether this album will be diplayed on the parent album. The album page remains accessible to people who know the URL. Defaults to false. Not inherited, always defaults to false (except for the root album)


The ISO 8601 date and optionally time of this album. This is used when sorting items chronologically. The default is the directory's modification date. The default template never actually shows dates, but it can also be used to determine the placement of album previews on a page.


A list of filenames that will not be automatically deleted at the album's destination directory. Defaults to ('index.html', 'thumbnails'). The root album will also get the directory 'static' appended to this list.

Inherited variables

In the default template, the title appears at the top of the page. The default value is "My Photography Website". Please set this to something more catchy. You can also override it for specific albums to show an album name.

In the default template, the copyright notice appears at the bottom of the page. The default value is empty.


Path to an HTML file containing directives in Template::Toolkit syntax. The current album will be made available as the variable "album", from where all additional configuration variables can be accessed using dot syntax, i.e., album.title, album.copyright etc. You can even make up your own configuration variables in photog.ini and have them available in the template. The default is the file template.html that's included with Photog!. Use it as a starting point to create your own template!


An album preview is a thumbnail image of the album that contains a number of smaller images. This option sets the number of preview images for an album. Allowed values are 3, 6, and 9. The default is 9.


The path to a transparent PNG file that will be used to watermark all fullscreen images in an album. The command photog-watermark is called to do the actual watermarking, and it currently places the watermark in the lower right corner. The default is to not watermark website images.


Photos are always sorted according to EXIF date. Possible sort orders are: ascending and descending. The default value is descending.


A boolean to indicate whether large images should be made available. Use this to prevent access to full-size images by clients who haven't paid yet. Defaults to true.


A boolean value that specifies whether photog.ini files are required. If true, Photog! will only consider a subdirectory an album when it contains a photog.ini file, even if the file is empty. Defaults to false.


The path to a command to convert an original image to a fullscreen web-image. The command will receive 2 arguments: The source image path and the destination image path. The default is photog-scale, which will scale an image to measure 2160 pixels vertically.


The command that does the image watermarking. The command will receive 3 arguments: Paths to the source image, the watermark image, and the destination image. The default command is photog-watermark which places the watermark file in the lower-right corner.


The path to a command that generates image thumbnails. The command receives 2 arguments: The source image path and the thumbnail destination path. The default is photog-thumbnail, which performs quite a bit of sharpening to make sure that the thumbnail doesn't become blurry after resizing.


The command that generates album previews by compositing multiple thumbnails together. It will receive paths to the source images' thumbnails as its arguments, and the path to a destination file as its final argument. Currently, Photog! will only request previews of 3, 6, or 9 images.


photog, Photography::Website


Photog! was written by Jaap Joris Vens <>, and is used to create his personal photography website at