# Build Scripts

A build script is a batch file which must exist in each directory which is part of your image database. It contains the command(s) and configurable options that tell ImajSite how to create the HTML output files for that directory.

Build scripts have predefined file names as follows:

## makeindx.bat

This build script builds or updates the index file and the slide files in the current directory. You can run this build script at any time, and you must run this build script whenever changes are made to the contents of the directory. The ImajSite System Builder automatically runs this script in each directory that changed since the last time the script was run.

The contents of the "makeindx.bat" build script is as follows (`[]` = optional):

`` | `@mkhtmset` | `` | This line is required.
| `[key` `=value` `] [key` `=value` `] [key` `=value` `] ...` |  | These lines are optional, and contain configuration settings.

ImajSite provides a quick and easy way to create a new "makeindx.bat" file. Simply perform the following steps:

1. Open the folder where you wish to create the "makeindx.bat" file.
2. Right-click on an empty space in the folder window (this displays a shortcut menu).
3. Select "New" > "ImajSite Build Script" from the menu.

This creates a new "makeindx.bat" file with the single line "@mkhtmset".

Example: | `@mkhtmset` `combine=yes thumbnails=no`

## makelink.bat

This optional build script creates or checks a symlinks file in the current directory. The ImajSite System Builder automatically runs this script in all directories that contain it, regardless of whether the directory was changed or not. To minimize system build time, keep the number of directories that contain this build script as small as possible.

This script can create a symlinks file based on keywords contained in the keyword database. It can also check a manually built symlinks file for missing files or directories. You can run this build script at any time, but if it creates a symlinks file it must be run prior to running "makeindx.bat" above.

The first line of this file should be one of the following:

First Line | Description
--- | ---
`@mkhtmlnk` | This command creates a symlinks file which lists files with a keyword that matches the current directory name (not title).
`@mkhtmlnk kwdexpr` | This command creates a symlinks file which lists files whose keywords match the specified keyword expression.
`@chksymlk` | This command checks an existing symlinks file to make sure all the files that it references actually exist.

Example: | `@mkhtmlnk`

Table of Contents