This document aims to explain how mig.cf works and what it is.
Each folder under the album subdirectory can optionally have a mig.cf file in it. This file contains things like image comments, a list of hidden items (if any) and so on.
The format is borrowed from the config file format of Apache, and is sort of similar to HTML. Hopefully this means that it will be simple for most people to figure out and use.
An example mig.cf might look like this:
# Beginning of example mig.cf # <Bulletin> We spent four days in Rome. Even with four whole days to tour the area, we found we couldn't cover everything. The Vatican alone took most of the second day, and we only saw half of it. </Bulletin>
<Comment "AUT_2323.JPG"> Massive mosaic found in the Basilica of Saint Peter in the Vatican. </Comment>
<Comment "AUT_2406.JPG"> The Colloseum of Rome. </Comment> # # End of example mig.cf
An element is opened by a tag (such as <Bulletin>), and closed by the associated close-tag (the tag with its name preceded by a slash) such as </Bulletin>.
An element can have an argument, as in <Comment "AUT_2406.JPG">.
These tags must be at the beginning of a line. Case in the tag name is not important, so <Comment> is the same as <comment> or <CoMMenT>.
(If you installed the example gallery, look inside for mig.cf files for some useful examples.)
Any line starting with #
is considered a remark and is ignored by Mig.
Blank lines are also ignored. Neither are ignored inside an element block
such as <comment>, so it's best if they don't appear inside blocks.
If you are editing mig.cf files using a Windows text editor, you may want to leave one or more blank lines at the end of the file. Some Windows text editors apparently don't add end-of-line characters to the end of the last line in the file, and this confuses Mig.
<Bulletin> [some text] </Bulletin>
A bulletin is just like a comment, only it's attached to the folder rather than a single image. An example is shown near the top of this document.
<Comment "image_file"> [some text] </Comment>
A comment is attached to an image. When viewing that image, the comment text associated with it will be displayed in a box below the image. An example can be found near the top of this file.
The argument to Comment
must be enclosed in quotes so Mig can properly
recognize files with spaces in their names.
As of 0.90, comments are loaded into the ALT tag of thumbnail images, so you can hover over an image and view its description. (As of 1.3.0 they're also loaded into the TITLE modifier for better cross-browser compatibility).
Certain HTML elements don't mix well with ALT and TITLE, and should be
avoided, notably things like <A HREF>. You can turn ALT/TITLE
tags off if you wish, by setting $suppressAltTags
to TRUE
in
config.php.
<Short "image_file"> [some text] </Short>
Sometimes you want a long comment on the image itself, but a shorter one used in the ALT and TITLE tags on the thumbnail page (for hovering over links). You can use the <Short> tag in mig.cf files for that. This element works just like <Comment> except that it is used only in the hover-over tags on thumbnail pages.
If there is a <Comment> block but no <Short> block for an image, the <Comment> block will be used for the hover-over.
FolderIcon folder_name icon_file.gif
It is sometimes desirable to use a custom icon for a given folder.
This can be done using the FolderIcon
entity. Given a folder
Trips/Rome, and an icon colloseum.gif, the following can be
defined in Trips/mig.cf:
FolderIcon Rome colloseum.gif
The colloseum.gif file should be placed in Mig's images folder, located in the root directory of your Mig installation.
If you are using $randomFolderThumbs
, note that FolderIcon
overrides
that setting.
If you want to use a specific thumbnail for a given directory as its
folder icon, you instead want to look at the UseThumb
directive.
UseThumb folder_name image_name
To pick a specific image to use as a thumbnail for your folder, use the
UseThumb
directive. The thumbnail file associated with that image will
be displayed as the folder's icon.
UseThumb Rome IMG_4935.JPG
In that case, the image IMG_4935.JPG, which should be located in the Rome folder, will be used as the folder's icon.
FolderTemplate /path/to/file.tmpl FolderTemplate file.tmpl
It is sometimes desirable to use a custom template for a given folder
rather than using the site-wide template. This can be defined with the
FolderTemplate
entity.
If the FolderTemplate
entity is followed by a filename, the file is
assumed to be in the folder in question.
If the FolderTemplate
entity is followed by a full file path, beginning
with a /
character, that full path is instead used.
PageTitle This is my Page Title for this Folder
A folder-specific page title can be defined with the PageTitle
entity,
as shown above. This will override the site-wide page title on a
folder-by-folder basis.
MaintAddr joe@mama.com
A folder-specific maintainer email address can be specified using the
MaintAddr
entity. This will override the site-wide value $maintAddr
.
This is handy in the case where different folders site are really owned by different people.
MaxFolderColumns 2 MaxThumbColumns 4
MaxFolderColumns
overrides the site-wide value $maxFolderColumns
in a
given folder.
MaxThumbColumns
overrides the site-wide value $maxThumbColumns
in a
given folder.
<Hidden> [item] [item] </Hidden>
Hidden
elements are lists of items which are invisible to the browser.
This is useful for things that should not be publicly viewable, or for
album directories that exist but are not yet complete. Each line between
the start and end tags is either a file or a directory (Mig can sort out
which is which on its own).
<Hidden> New folder England </Hidden>
Hidden
is not considered a security feature. It's not difficult for
someone to get around this if they know the name of the folder or image
being hidden. This is security through obscurity (which is only one step
above no security).
<Sort> [item] [item] </Sort>
By default, items are sorted by their ASCII value (for the purpose of this discussion, this is close to being alphabetically). However, it can be desirable to control the order in which items (either images or folders) appear.
For example, this is what the contents of a directory might look like:
Ceremony/ Cut the Cake/ Home/ Reception/ Cigars/ AUT_3706.JPG AUT_3712.JPG AUT_3714.JPG AUT_3716.JPG AUT_3707.JPG AUT_3713.JPG AUT_3715.JPG AUT_3717.JPG
Note that the first five are directories, and the other eight are files. This will display by default as a list of folders, then a list of images, each list in alphabetical (ASCII) order.
Let's say that Home should move to the top of the list and Cigars to just above Reception.
<Sort> Home Ceremony Cutting the Cake Cigars Reception </Sort>
Now let's move images 3716 and 3717 to the third and fourth position in the list of images.
<Sort> AUT_3706.JPG AUT_3707.JPG AUT_3716.JPG AUT_3717.JPG </Sort>
Attentive readers will have noticed that there are four images that aren't even mentioned here. What happens to them? They're sorted alphabetically independently of the pre-sorted list, and tacked on afterward. The final list would be:
AUT_3706.JPG AUT_3707.JPG AUT_3716.JPG AUT_3717.JPG AUT_3712.JPG AUT_3713.JPG AUT_3714.JPG AUT_3715.JPG
If everything goes into one <sort> block, Mig can figure it out (which are files, which are directories). This is arguably sloppy from the point of view of a human though. It's easier to define multiple sort blocks in those situations; one for files, one for directories. Mig can detect and use multiple sort blocks.
See the apache document if you are running Apache and would like to prevent people from browsing your mig.cf and/or exif.inf files.