History ...
What's New ...

LeVeL BBS
HTML Gallery maker
v.3.6 for Win9x/NT/Me/W2K Freeware (18 October 2002)

Contents

0. Disclaimer
1. What is "Gallery Maker"?
2. Installation and startup guide
3. Description of HTML-pages and their structure
  3.01 The description "Table"-page and structure of a template
3.02 The description "Image Shell"-page and structure of a template
3.03 The description "Main Index"-page and structure of a template
3.04 The description "Local Index"-page and structure of a template
4. The description of GM-project
  4.01 Section [ General ]
4.02 Section [ SrcImage ]
4.03 Section [ ThumbImage ]
4.04 Section [ ShellImage ]
4.05 Section [ TablePage ]
4.06 Section [ TableNavigation ]
4.07 Section [ ShellPage ]
4.08 Section [ ShellNavigation ]
4.09 Section [ MainIndexPage ]
4.10 Section [ LocalIndexPage ]
4.11 Section [ Auto ]
4.12 Section [ User ]
4.13 Section [ Messages ]
4.14 Section [ Settings ]
5. The description of all possible variables
  5.01 Group "TCF + SCF + MICF + LICF + TNI + SNI + MIPI + LIPI + UDV + JC"
5.02 Group "TCF + SCF + LICF + CSV + JC"
5.03 Group "TCF + SCF"
5.04 Group "CCF + SCF + CSV + JC"
5.05 Group "CCF + SCF + CSV"
5.06 Group "TCF + LICF"
5.07 Group "TCF"
5.08 Group "TCF + TNI"
5.09 Group "TNI"
5.10 Group "SCF + LICF"
5.11 Group "SCF"
5.12 Group "SCF + SNI"
5.13 Group "TCF + SCF + LICF"
5.14 Group "TCF + SCF"
5.15 Group "TCF + SCF + LICF + MIRC + TNI + SNI + MIPI + LIPI"
5.16 Group "MICF"
5.17 Group "TCF + SCF + LICF + TNI + SNI + MIPI + LIPI + UDV"
6. Special expressions
7. Registration and licensing
8. Acknowledgments
9. "GM" Gallery hall
10. Awards
11. Download and how to contact me
 
0. Disclaimer Top

  Author of this program assumes no liability in any losses and damages that might occur as a result of downloading and/or using of this software. Even though this software has been thoroughly tested, there is a chance that something might go wrong. Author would appreciate a detailed report of such incidents (if any), and reminds you that a simple backup can save your work from dangers of computer crash or software mailfunction. Please save often.
 
1. What is "Gallery Maker"? Top

Screenshot   The purpose of this software - creation virtual picture galleries, museums, catalogs, presentation and foto- or image-albums on the HTML basis or thumbnails generation (with differents F/X).
  While surfing web you can find many galleries which not always have a good design. Of course, creating a picture gallery is a hard and time-consuming work, so try out my program and find put that it delivers you professional tools at a minimum expense.
  The program is intended for the advanced users, which know HTML, since logic of the program is based on HTML-templates from which all HTML-pages are created, and "variables" - instead of which the program automatically inserts concrete values.

Main features:
System requirements:
P-133, RAM 5-10 Mb, HDD 5 Mb, Win9x/NT4/Me/2k
 
2. Installation and startup guide Top

Installation and deinstallation.

Extract all files from archive into the some directory, for example:
  C:\Program Files\GM\
Note: The archive contains some files with long names. Make sure that you correctly expand these files!
Installation complete ;)
For program deinstallation simply delete directory in which it is installed. Program does not save some keys in system registry.

Quick start.

Go to the directory where Gallery Maker is installed and execute the next command:
  Demo.bat <ENTER>
This command startup the process of creation demo-gallery in GM Path\Target\ directory.
After terminating a process you can load Main Index-page - index.html (which will be located in you Gallery Maker directory) in your favorite web browser for viewing a result of work.

Step-by-step start.

  Run program gm.exe. Select menu item File\Open and load the test GM-project gm.gmp. Select the mode of program work (Mode) and its priority (Priority). Two modes are possible: "Full processing" - full generation of gallery, "Check project only" - check the content of the main GM-project. The priority of program you may change during process of generations of gallery. Now, press the button Start for starting the program work.

Command line.

  Command: gm.exe Start <ENTER> - start the process of thumbnails and all HTML-pages creation. All settings will be loaded from default GM-project - gm.gmp.
  Command: gm.exe Check <ENTER> - check up the default GM-project gm.gmp.
You also can run:
  gm.exe Check my_project.gmp <ENTER> or
  gm.exe Check C:\MY\my_project.gmp <ENTER> or
  gm.exe Start my_project.gmp <ENTER> or
  C:\Soft\GM\gm.exe Start D:\MY\Gallery\my_project.gmp <ENTER>
In this case Check or Start process will be executed for user's my_project.gmp file.

Exit codes.

You can found the summary list of all "Exit Codes" in file ExitCode.txt
 
3. Description of HTML-pages and their structure Top

  All HTML-pages are created on the basis of several HTML-templates: "Table", "Image Shell", "Main Index" and "Local Index" is a one of the main features "Gallery Maker". You may change any template according to your tastes and requirements. By default all HTML-templates are located in directory GM Path\Templates. If necessary, templates can be placed in any directory (names of directories are adjusted in the GM-project).
  All HTML-templates are divided into some logic HTML-fragments (10 for Table, 3 for Image Shell, 3 for Main Index, 3 for Local Index).
  Each HTML-fragment always begins with a label Begin (ex. "HeaderBegin") and finish with a label End (ex. "HeaderEnd"). Before and after the name of a label additional symbols (variables) are located - prefix and suffix. Values of these variables also can be adjusted in the GM-project. Between these labels the code of the current HTML-fragment is located directly.
  Other important feature - an opportunity "to override" the general HTML-fragments local HTML-fragments. If in any subdirectory inside an source directory to place a file the name of which coincides with a name of any HTML-template, then all HTML-fragments from this file will be automatically loaded and used at creation of HTML-pages for this directory. But if local GM-project already exists in this directory, in which names of HTML-templates are redefined, then values of this local GM-project will have a higher priority.
  Theoretically, in the general HTML-templates a code of HTML-fragments may be absent, but labels "Begin" and "End" should be necessarily. Inside local HTML-templates may be present only necessary fragments.
  The HTML-pages Table, Image Shell and Local Index are created in the appropriate subdirectories inside target directory. The program does not make any changes in an source directory and the files located inside it.
  All HTML-pages in gallery are connected between itself with the help of hyperlinks. The full scheme of possible transitions (intercoupling) between various types of HTML-pages is given below.
Schema links
3.01 The description "Table"-page and structure of a template
Table   "Table"-pages is the central and most visited part of any gallery. Usually this page consists of heading, the table with thumbnails and the navigating panel. At accommodation in Internet the popularity of your gallery will depend on quality "Table"-page and comforts of navigation between it and other pages.
  The HTML-template for this page consists 10 HTML-fragments. The most difficult in development is creation of the table for thumbnails. You necessary to describe two cells-prototype - Cell and EmptyCell. On the basis of these two prototypes the program automatically will create the table of necessary dimension.
  Fragment Cell is used for all cells of the table with thumbnails. EmptyCell used for cells in which thumbnail is absent (it is possible if real number of thumnbails in the table less than table dimension). You may forbid addition EmptyCell if the table consists only of one line.
  Elements of navigation ("buttons" or "text" links) can be placed in any HTML-fragments.
  Fragments HeaderBanner and FooterBanner are used if some information must be inserts only on the first "Table"-page of the current gallery part.
3.02 The description "Image Shell"-page and structure of a template
Shell   What is an "Image Shell"? It is special page with the full-size image. If the user make click on a some thumbnail inside "Table"-page, then the necessary "Image Shell"-page will be automatically loaded.
  In this case only 3 HTML-fragments are used. For accommodation of the full-size image the fragment Image is intended.
  Elements (variables) of navigation may be located in any HTML-fragment.
3.03 The description "Main Index"-page and structure of a template
MainIndex   The Main Index-page also is very important - it is starting page of gallery and a connecting-link between all its parts. From this page the user should get access in any part (section) of gallery. Each part of gallery corresponds to a subdirectory inside target directory.
  The program automatically may create Main Index-page and to add in it the most important information (number of "Table"-pages, images and their size) for any part of gallery. And also to include total statistics.
  Only one Main Index-page will be created for gallery. Header and Footer will be added in the beginning and the end of this page. The fragment Record is the prototype of record for the description of the part of gallery. Usually it contains the link to concrete part of gallery and short information about this part. Also you may create a unique Record-fragment for any gallery part.
  Note: Inside Header and Footer fragments it is possible to use only the user-defined variables listed in the main GM-project.
3.04 The description "Local Index"-page and structure of a template
LocalIndex   For understanding of essence of this page I will describe two examples of its using:
  1. "Information" about the current directory.
  Sometimes can be necessary to add into some part of gallery a small "introduction" part (for example: the introduction, biography of the artist, comment of the author...) In this case, from Main Index-page the user should first get this information page, but afterwards can go on Table-page, Image Shell-page in this directory or return to MainIndex-page.
  2. "Lock-page".
  The name of a file for this page select so that it coincided with the "default" WWW-server filename. Usually it "index.html" or "default.html", but can be and another - depends from settings concrete WWW-server. If the user will input the url http://www.server_name.com/gallery/lions/ then server automatically "upload" to this user your "lock-page" from subdirectory lions/.
  The main difference between "lock-page" and "information" in that that on "lock-page" in gallery may not be the direct links.
 
4. The description of GM-project Top

This part contains the description of the all variables from GM-project.
"GM-project" is a standard text file and have the standard format of .INI-files. By default, program uses the extension .gmp (Gallery Maker project), but you can use any necessary extension for names of your projects.

| General | SrcImage | ThumbImage | ShellImage | TablePage | TableNavigation | ShellPage | ShellNavigation | MainIndexPage | LocalIndexPage | Auto | User | Messages | Settings |
 
4.01 Section [ General ]

SrcDir
This is where you specify the root directory from which input images will be read. This path must exist.
Ex. 1: Source\ - in this case for SrcDir will be accepted GM Path\Source\
Ex. 2: C:\Pics\ - in this case for SrcDir will be accepted C:\Pics\
Note: You can't use for SrcDir and DstDir values like "C:", "D:\"...
DstDir This is where you specify the root directory for all output images and HTML-pages to be placed.
Ex. 1: Destination\ - in this case for DstDir will be accepted GM Path\Destination\
Ex. 2: C:\MySite\ - in this case for DstDir will be accepted C:\MySite\
Note: Will be careful when you set values SrcDir and DstDir. Correct case of pathnames is very important for Linux and Web-servers.
ScanSubDirs Yes - to process all image files in all subdirectories of the specified SrcDir.
No - to process only SrcDir directory.
LocalGMPFileName This variable defines a filename of a local GM-project.
This file can be placed in any subdirectory inside SrcDir. In this file you can redefine any variables (including user-defined variables but excluding all variables from [ General ] section). All reassigned variables will be active only for this subdirectory.
Ex. : gm-local.gmp
Note: All invalid variables and values in local GM-project will be automatically skipped.
AlertMaxHDDFree If size of free HDD-space on target partition will be less then value of this variable then you will get a warn message. This variable's meaning is Kbytes. It's value must be [10...10000000].
Ex. : 3000
AlertMinHDDFree If size of free HDD-space on target partition will be less then value of this variable then the action will be executed according to meaning variable AlertAction. This variable's meaning is Kbytes. It's value must be [10...10000000].
Ex. : 1500
AlertAction 0 - not pay attention (I strongly don't recommend this mode).
1 - suspend programm and show dialogue with a question about the next action.
Buttons Description
Abort Immediately exit from program with ExitCode=12.
Retry It is recommended. Try again check free space on target drive, and if space enough - resume working the program.
Ignore Don't recommend. Ignore this warning message and don't show again.
2 - Immediately terminate of program without any questions. In this case ExitCode=13.
ClearDst Yes - Delete all files and directories inside DstDir before start of processing.
No - Don't clear DstDir before processing (all destination files will be overwritten if needed).
DeleteToRecycleBin Yes - Move all deleted files to Recycle Bin (slow method).
No - Directly removing the files without possibility of restoring.
Note: Network drives don't support removing into Recycle Bin, in this case all files will be removed directly.
DstFileCase
DstDirsCase
0 - No Change. Leave upper/lower case as set in input file/directory name.
1 - Lower. Force output file/directory name to lower case.
2 - Upper. Force output file/directory name to upper case.
Note: If you choise is 1 or 2 then selected case will be also used for all corresponding variables.
CreateMainIndex Yes - to create Main Index-page for gallery.
No - don't create Main Index-page for gallery.
Note: Main Index-page will be created only if you set CreateTable=Yes or CreateLocalIndex=Yes
MainIndexTemplate This variable defines the name of HTML-template for Main Index-page.
Ex. 1: Templates\MainIndex.htm
Ex. 2: C:\My\GM\Templates\MainIndex.htm
MainIndexPageFileName This variable defines Main Index-page filename without path.
Main Main Index-page always will be created in the directory on one level above than DstDir.
Ex. : MainIndexPageFileName=index.html and DstDir=C:\my\gallery\out\, in this case Main Index-page will be created as C:\my\gallery\index.html
CodePageFileName This variable defines a name of file containing character tables (code pages).
Ex. 1: CodePage.tbl
Ex. 2: C:\My\CodePages.tbl
You may change or add the new character table, for this read the commentary inside this file.
CreateMainCSV Yes - to create a main CSV-file.
No - to not create a main CSV-file.
MainCSVFileName This variable defines main CSV-file name without path. Main CSV-file always will be created in the directory on one level above than DstDir.
Ex. : MainCSVFileName=Main.csv
MainCSVFormat This variable defines the format of main CSV-file. Inside this string you can use any variables from CSV group or user-defined variables.
Ex. : MainCSVFormat="~SRC_IMAGE_NAME_L~", ~SRC_IMAGE_SIZE_B~, ~SRC_IMAGE_CRC32~, ~SRC_IMAGE_WIDTH~, ~SRC_IMAGE_HEIGHT~
PostProcess Directly before termination of work (post-process stage) program processes special expressions. If you do not use these expressions in your project, then for increasing speed of program you may forbid this stage.
Yes - "post-process" allowed.
No - "post-process" forbidden.
TemplateMarkerPrefix,
TemplateMarkerSuffix
These variables define the character sets (substrings), which will be used for identification of a labels Begin and End inside a HTML-template.
 
4.02 Section [ SrcImage ]

SrcImageNameMask
You can define scenario and masks for INclude or EXclude images in/from source PicFileList.
Scenario consists from rules:
SrcImageNameMask = Rule 1 Rule 2 ... Rule N
Rule consists from IN or EX switchers and filename mask:
Rule N = IN | EX "mask"
A valid mask consists of literal characters, sets, and wildcards. The comparison to literal characters is case-insensitive. Each mask begins and ends with a symbol " (quote).
Order of work:
0. Select all graphical files in current directory (Obligatory step).
If value of SrcImageNameMask is not blank then for each image next steps will be run:
1. Check Rule 1 for current image filename. If a filename conforms to the mask then this image will be included into PicFileList, else - excluded.
2. Check Rule 2 ...
N. Check Rule N
Note: File may be excluded from list first, but after that may be included by following rule.
Ex. : SrcImageNameMask = EX "*.bmp" IN "a*.bmp" IN "b*.bmp". In this case all graphic files will be added into PicFileList excluding *.bmp, but including a*.bmp and b*.bmp.
SrcImageDateMask This variable and its work is very like on SrcImageNameMask, but "mask" consists of a range of dates.
For analysis is used the date of last modification of a file. If your file system does not support "last modification date" that is used "creation date of file".
Ex. : SrcImageDateMask = EX "01.01.1995<>01.01.2002" IN "05.05.1796<>10.10.1997" IN "08.08.1999<>11.11.1999". In this case all graphic files will be added into PicFileList excluding 01.01.1995...01.01.2002, but including two subrange 05.05.1796...10.10.1997 and 08.08.1999...11.11.1999.
SrcImageSizeMask This variable and its work is very like on SrcImageNameMask, but "mask" consists of a range of sizes.
Ex. : SrcImageSizeMask = EX "1<>10000000" IN "50000<>60000" IN "100000<>200000". In this case all graphic files will be added into PicFileList excluding 1...10000000, but including two subrange 50000...60000 and 100000...200000.
SrcImageAttributeMask You may set the file attributes that will define the appearance of image in PicFileList.
Format of this variable: [Read only | Archive | Hidden | System]
All this four fields may have next values:
Value Description
* Attribute may be any.
+ Attribute must be set.
- Attribute must be not set.
Ex. : SrcImageAttributeMask=[*+--] In this case only files with next attributes: ReadOnly=Any, Archive=Yes, Hidden=No, System=No will be added into PicFileList.
Warning: The program analyse the meanings all four variable ( SrcImageNameMask, SrcImageDateMask, SrcImageSizeMask and SrcImageAttributeMask ) simultaneously at acceptance of the decision about addition (or exception) image in gallery.
SchemaSort This variable defines images sorting order of gallery.
0 - No Sort. Images will be processed in the same (apparently random) order that they are listed in when you type DIR from a DOS prompt.
1 - to sort by Name of file (ascending).
2 - to sort by Name of file (descending).
3 - to sort by Size of file (ascending).
4 - to sort by Size of file (descending).
5 - to sort by DateTime of file (ascending).
6 - to sort by DateTime of file (descending).
7 - to sort in order specified inside ImagesListName.
8 - to sort by the contents of a file "Table"-comment (ascending).
9 - to sort by the contents of a file "Shell"-comment (ascending).
Note: If you use "byNameAsc" or "byNameDes" then file extensions are not used in sorting process.
ImagesListName This variable defines a name of file (without path) which contains list of images and, if required, "ThumbFrame" coordinates. This file should be located in the same directory as the source image which are specified in it. Only images from this list will be included into gallery at order that they are listed in this file.
"ImageList" is created by the special utility ILM.exe. Here you can read the small recommendations on its use.
Q. What is a "ThumbFrame"?
A. This is a rectangular area on the source image. Only this fragment of the source image will is used for creation a thumbnail. Thus you can create thumbnail on which is represented only small, but most important, fragment of source image.
Ex. : ImagesList.txt
Note: Only if you set SchemaSort=7 this variable will be used.
CreateLocalCSV Yes - to create a local CSV-file.
No - to not create a local CSV-file.
LocalCSVFileName This variable defines local CSV-file name without path. All local CSV-files will be created in corresponding directories inside destination tree.
Ex. : MainCSVFileName=Local.csv
LocalCSVFormat This variable defines the format of local CSV-file. Inside this string you can use any variables from CSV group or user-defined variables.
Ex. : LocalCSVFormat="~SRC_IMAGE_NAME_L~", ~SRC_IMAGE_SIZE_B~, ~SRC_IMAGE_CRC32~, ~SRC_IMAGE_WIDTH~, ~SRC_IMAGE_HEIGHT~
 
4.03 Section [ ThumbImage ]

ThumbImageScenario
This variable defines the filename of IP-scenario for processing Thumb-images. If you don't want to use Thumb-images then set this variable to blank.
Ex. 1: ThumbImageScenario="1.ips"
Ex. 2: ThumbImageScenario="D:\Work\GM\1.ips"
Ex. 3: ThumbImageScenario=""
ThumbImageNameSchema This variable defines the schema of filename creation for Thumb-images.

Value Description Sample of filename
pi Use Prefix + source image name as filename of Thumb-image. t_PicName.jpg
ip Use source image name + Postfix as filename of Thumb-image. PicName_t.jpg
psp Use Prefix + Suffix + Postfix as filename of Thumb-image. t_001_t.jpg
ps Use Prefix + Suffix as filename of Thumb-image. t_001.jpg
sp Use Suffix + Postfix as filename of Thumb-image. 001_t.jpg
ThumbImageNamePrefix This variable sets prefix string which will be added into begin the filename of Thumb-image.
Ex. : t_
ThumbImageNameSuffixPS This variable defines a symbol which will be used as a padding symbol in a suffix.
Ex. : 0
ThumbImageNameSuffix This variable defines the suffix length the filename of Thumb-image. May be [1...5].
All examples are given for ps-schema:
1 - simple numbering:
    Ex. : t_1.jpg, t_2.jpg, t_3.jpg ... t_99999.jpg ...
    no limits.
For meanings 2, 3, 4 and 5 the ThumbImageNameSuffixPS is applied to padding suffix up to specified length.
2 - Length of a suffix is 2 symbols:
    Ex. : t_01.jpg, t_02.jpg, t_03.jpg ... t_99.jpg
    in this case "99" - the maximal meaning for suffix.
3 - Length of a suffix is 3 symbols:
    Ex. : t_001.jpg, t_002.jpg, t_003.jpg ... t_999.jpg
    in this case "999" - the maximal meaning for suffix.
4 - Length of a suffix is 4 symbols:
    Ex. : t_0001.jpg, t_0002.jpg, t_0003.jpg ... t_9999.jpg
    in this case "9999" - the maximal meaning for suffix.
5 - Length of a suffix is 5 symbols:
    Ex. : t_00001.jpg, t_00002.jpg, t_00003.jpg ... t_99999.jpg
    in this case "99999" - the maximal meaning for suffix.
ThumbImageNameSuffixSV This variable defines a "suffix startup value" for the filename of Thumb-image.
Ex. : 1
ThumbImageNamePostfix This variable sets postfix string which will be added into end the filename of Thumb-image.
Ex. : _t
 
4.04 Section [ ShellImage ]

ShellImageScenario
This variable defines the filename of IP-scenario for processing Shell-images. If you don't want to use Shell-images then set this variable to blank.
Ex. 1: ShellImageScenario="2.ips"
Ex. 2: ShellImageScenario="D:\Work\GM\2.ips"
Ex. 3: ShellImageScenario=""
ShellImageNameSchema This variable defines the schema of filename creation for Shell-images.

Value Description Sample of target filename
i Use source image name as filename of Shell-image. PicName.jpg
pi Use Prefix + source image name as filename of Shell-image. i_PicName.jpg
ip Use source image name + Postfix as filename of Shell-image. PicName_i.jpg
psp Use Prefix + Suffix + Postfix as filename of Shell-image. i_001_i.jpg
ps Use Prefix + Suffix as filename of Shell-image. i_001.jpg
sp Use Suffix + Postfix as filename of Shell-image. 001_i.jpg
ShellImageNamePrefix This variable sets prefix string which will be added into begin the filename of Shell-image.
Ex. : i_
ShellImageNameSuffixPS This variable defines a symbol which will be used as a padding symbol in a suffix.
Ex. : 0
ShellImageNameSuffix This variable defines the suffix length the filename of Shell-image. May be [1...5].
All examples are given for ps-schema:
1 - simple numbering:
    Ex. : i_1.jpg, i_2.jpg, i_3.jpg ... i_99999.jpg ...
    no limits.
For meanings 2, 3, 4 and 5 the ShellImageNameSuffixPS is applied to padding suffix up to specified length.
2 - Length of a suffix is 2 symbols:
    Ex. : i_01.jpg, i_02.jpg, i_03.jpg ... i_99.jpg
    in this case "99" - the maximal meaning for suffix.
3 - Length of a suffix is 3 symbols:
    Ex. : i_001.jpg, i_002.jpg, i_003.jpg ... i_999.jpg
    in this case "999" - the maximal meaning for suffix.
4 - Length of a suffix is 4 symbols:
    Ex. : i_0001.jpg, i_0002.jpg, i_0003.jpg ... i_9999.jpg
    in this case "9999" - the maximal meaning for suffix.
5 - Length of a suffix is 5 symbols:
    Ex. : i_00001.jpg, i_00002.jpg, i_00003.jpg ... i_99999.jpg
    in this case "99999" - the maximal meaning for suffix.
ShellImageNameSuffixSV This variable defines a "suffix startup value" for the filename of Shell-image.
Ex. : 1
ShellImageNamePostfix This variable sets postfix string which will be added into end the filename of Shell-image.
Ex. : _i
 
4.05 Section [ TablePage ]

CreateTable
Yes - to create "Table" HTML-pages.
No - to not create "Table" HTML-pages.
TableTemplate This variable defines the name of HTML-template for Table-page.
Ex. 1: Templates\Table.htm
Ex. 2: C:\My\GM\Templates\Table.htm
TableFileNameSchema This variable defines the filename schema for "Table"-pages.

Value Description Sample of "Table"-page filename
psp Use Prefix + Suffix + Postfix as "Table"-page name. Page_001_Page.htm
ps Use Prefix + Suffix as "Table"-page name. Page_001.htm
sp Use Suffix + Postfix as "Table"-page name. 001_Page.htm
TableFileNamePrefix This variable sets prefix string which will be added to the beginning of the output "Table"-page filename.
Ex. : Page_
TableFileNameSuffixPS This variable defines a symbol which will be used as a padding symbol in a suffix.
Ex. : 0
TableFileNameSuffix This variable defines the suffix length of "Table"-page filename. May be [1...5].
All examples are given for ps-schema:
1 - simple numbering:
    Ex. : Page_1.htm, Page_2.htm, Page_3.htm ... Page_99999.htm ...
    no limits.
For meanings 2, 3, 4 and 5 the TableFileNameSuffixPS is applied to padding suffix up to specified length.
2 - Length of a suffix is 2 symbols:
    Ex. : Page_01.htm, Page_02.htm, Page_03.htm ... Page_99.htm
    in this case "99" - the maximal meaning for suffix.
3 - Length of a suffix is 3 symbols:
    Ex. : Page_001.htm, Page_002.htm, Page_003.htm ... Page_999.htm
    in this case "999" - the maximal meaning for suffix.
4 - Length of a suffix is 4 symbols:
    Ex. : Page_0001.htm, Page_0002.htm, Page_0003.htm ... Page_9999.htm
    in this case "9999" - the maximal meaning for suffix.
5 - Length of a suffix is 5 symbols:
    Ex. : Page_00001.htm, Page_00002.htm, Page_00003.htm ... Page_99999.htm
    in this case "99999" - the maximal meaning for suffix.
TableFileNameSuffix This variable defines "suffix startup value" for filename of "Table"-page.
Ex. : 1
TableFileNamePostfix This variable sets postfix string which will be added to the end of the output "Table"-page filename.
Ex. : _Page
TableFileNameExt This variable defines the extension of filename for output "Table" HTML-pages.
Ex. : .htm
Note: Don't forget about the symbol "."
Columns This variable defines maximum number of columns in "Table" HTML-page.
Ex. : 4
Rows This variable defines maximum number of rows in "Table" HTML-page.
Ex. : 5
HeaderBannerOnly1Page
FooterBannerOnly1Page
Yes - in this case this HTML-fragment will be added only to the first "Table"-page in a directory.
No - in this case this HTML-fragment will be added to all "Table"-pages in a directory.
AddEmptyCell Yes - to allow addition EmptyCell into table.
No - to forbid addition.
AddEmptyCellIf1Row You can permit or forbid addition EmptyCell into "Table" HTML-page if table consists only of one row.
Yes - to allow addition (also you must set AddEmptyCell=Yes).
No - to forbid addition.
AddComment You can allow automatic addition of comments to images from "comment file".
Yes - to permit addition of the comments to images.
No - to forbid addition of the comments to images.
CommentFileExt This variable defines the extension of a "comment file" for "Table" pages.
Q. : What is a "comment file"?
A. : This is a simple file inside which you can place the description (or HTML code) for image. This file should be located in the same directory as the source image. The filename of "comment file" differs from source image filename only by extension.
Ex. : Source image name = Pic1.jpg and CommentFileExt=.txt. In this case the filename of "comment file" must be Pic1.txt.
CommentRecode You can automatically recode content of the "comment file" from "any" to "any" codepages. By default are supported the next characters tables: DOS 866, Windows-1251, ISO 8859-5, KOI-8.
Format of this key: SourceCPName::TargetCPName
Default CPName (aliases): dos, win, iso, koi
For recode skipping set this key to blank or "No".
Ex. 1: CommentRecode=No
Ex. 2: CommentRecode=dos::win and AddComment=Yes. In this case the comment will be recoded from DOS 866 to Windows-1251 codepage.
Note: The original "comment file" will be not modified during the process of recode.
For more details about codepages please read my comment inside CodePage.tbl.
BeforeComment This variable defines a string of HTML-code which will be auto-added before the comment.
Ex. : <FONT SIZE="2" COLOR="AQUA">
AfterComment This variable defines a string of HTML-code which will be auto-added after the comment.
Ex. : </FONT>
 
4.06 Section [ TableNavigation ]

DelNavigateIf1Page
You can automatic remove all navigation markers from "Table"-page if current directory in gallery consists only of one "Table"-page.
Yes - to remove all navigation markers.
No - don't delete all navigation markers.
RoundBtnNavigation This parameter more often is applied when you want to create SlideShow-effect for "Table"-pages (this effect is possible to create with the help JavaScript or tag "META HTTP-EQUIV = "Refresh""). That is to say, the TABLE_NEXT_PAGE variable on the last "Table"-page pointed to the first "Table"-page, and conversely, the TABLE_PREV_PAGE variable on the first "Table"-page pointed to the last "Table"-page. We shall get the "round"-links.
Yes - to allow "round"-navigation.
No - to forbid "round"-navigation.
AutoRemoveDisabledButtons This parameter allows to control automatic removing from HTML-pages "disabled" navigational "buttons": Begin, Prev, Next ... "Disabled buttons" it "buttons" which are formed from variable BtnNav...A or do not point to concrete HTML-document.
Yes - to allow automatic removing "disabled" buttons.
No - to forbid removing "disabled" buttons (in this case is used BtnNav...A variable).
If button on navigation panel is linked to active "Table"-page then for this button will be used variable with suffix "A", else - "O".
BtnNavTableBeginA
BtnNavTableBeginO
This variable should contain a string HTML-code which will be used as "Table Begin"-button.
BtnNavTablePrevA
BtnNavTablePrevO
This variable should contain a string HTML-code which will be used as "Table Previous"-button.
BtnNavMainIndexA
BtnNavMainIndexO
This variable should contain a string HTML-code which will be used as "Main Index"-button.
BtnNavLocalIndexA
BtnNavLocalIndexO
This variable should contain a string HTML-code which will be used as "Local Index"-button.
BtnNavTableNextA
BtnNavTableNextO
This variable should contain a string HTML-code which will be used as "Table Next"-button.
BtnNavTableEndA
BtnNavTableEndO
This variable should contain a string HTML-code which will be used "Table End"-button.
MaxTxtLinksToPage This variable defines the maximum number of elements for "text" navigation on "Table"-page.
There can be any number from 3 up to 50, I recommend to use odd numbers: 5, 7, 9...
Ex. : 7
BeforeTxtNav This variable defines HTML-code which will be added in the begin ~TXT_NAV~.
TxtNavLabel This variable defines a label name which will be used in ~TXT_NAV~.
Ex. : "Page "
TxtNavA
TxtNavO
This variable should contain a string of HTML-code which will be used for "Text" link.
TxtNavSeparator This variable should contain a string of HTML-code which will be used as separator between "Text" links.
AfterTxtNav This variable defines HTML-code which will be added in the end ~TXT_NAV~.
 
4.07 Section [ ShellPage ]

CreateShell
Yes - to create "Image Shell" pages.
No - to not create "Image Shell" pages.
ShellTemplate This variable defines the name of HTML-template for Shell-page.
Ex. 1: Templates\Shell.htm
Ex. 2: C:\My\GM\Templates\Shell.htm
ShellFileNameSchema This variable defines the filename schema of "Image Shell" files.

Value Description Sample of "Image Shell" filename
i Use source image name as name of "Image Shell". PicName.htm
pi Use Prefix + source image name as name of "Image Shell". s_PicName.htm
ip Use source image name + Postfix as name of "Image Shell". PicName_s.htm
psp Use Prefix + Suffix + Postfix as name of "Image Shell". s_001_s.htm
ps Use Prefix + Suffix as name of "Image Shell". s_001.htm
sp Use Suffix + Postfix as name of "Image Shell". 001_s.htm
ShellFileNamePrefix This variable sets prefix string which will be added to the beginning of the output "Image Shell" filename.
Ex. : s_
ShellFileNameSuffixPS This variable defines a symbol which will be used as a padding symbol in a suffix.
Ex. : 0
ShellFileNameSuffix This variable defines the suffix length of filename of "Image Shell". May be [1...5].
All examples are given for ps-schema:
1 - simple numbering:
    Ex. : s_1.htm, s_2.htm, s_3.htm ... s_99999.htm ...
    no limits.
For meanings 2, 3, 4 and 5 the ShellFileNameSuffixPS is applied to padding suffix up to specified length.
2 - Length of a suffix is 2 symbols:
    Ex. : s_01.htm, s_02.htm, s_03.htm ... s_99.htm
    in this case "99" - the maximal meaning for suffix.
3 - Length of a suffix is 3 symbols:
    Ex. : s_001.htm, s_002.htm, s_003.htm ... s_999.htm
    in this case "999" - the maximal meaning for suffix.
4 - Length of a suffix is 4 symbols:
    Ex. : s_0001.htm, s_0002.htm, s_0003.htm ... s_9999.htm
    in this case "9999" - the maximal meaning for suffix.
5 - Length of a suffix is 5 symbols:
    Ex. : s_00001.htm, s_00002.htm, s_00003.htm ... s_99999.htm
    in this case "99999" - the maximal meaning for suffix.
ShellFileNameSuffix This variable defines "suffix startup value" for filename of "Image Shell"-page.
Ex. : 1
ShellFileNamePostfix This variable sets postfix string which will be added to the end of the output "Image Shell" filename.
Ex. : _s
ShellFileNameExt This variable defines the extension of filename for output "Image Shell" HTML-pages.
Ex. : .htm
Note: Don't forget about the symbol "."
AddComment You may allow automatic addition of the comments to images from "comment file".
Yes - to permit addition of the comments to images.
No - to forbid addition of the comments to images.
CommentFileExt This variable defines the extension of a "comment file" for "Image Shell" pages.
See this topic for details.
CommentRecode See this topic for details.
BeforeComment See this topic for details.
AfterComment See this topic for details.
 
4.08 Section [ ShellNavigation ]

RoundBtnNavigation
See this topic for details.
AutoRemoveDisabledButtons See this topic for details.
If button on navigation panel is linked to active "Image Shell" page then for this button will be used variable with suffix "A", else - "O".
BtnNavShellBeginA
BtnNavShellBeginO
This variable should contain a string HTML-code which will be used as "Shell Begin"-button.
BtnNavShellPrevA
BtnNavShellPrevO
This variable should contain a string HTML-code which will be used as "Shell Previous"-button.
BtnNavMainIndexA
BtnNavMainIndexO
This variable should contain a string HTML-code which will be used as "Index"-button.
BtnNavLocalIndexA
BtnNavLocalIndexO
This variable should contain a string HTML-code which will be used as "Local"-button.
BtnNavTable This variable should contain a string HTML-code which will be used as "Table"-button.
BtnNavShellNextA
BtnNavShellNextO
This variable should contain a string HTML-code which will be used as "Shell Next"-button.
BtnNavShellEndA
BtnNavShellEndO
This variable should contain a string HTML-code which will be used as "Shell End"-button.
 
4.09 Section [ MainIndexPage ]

MainIndexRecordTemplate
This variable defines the name of HTML-template containing Record-fragment.
Ex. 1: Templates\MainIndex.htm
Ex. 2: C:\My\GM\Templates\MainIndex.htm
DirDescFilename This variable defines filename of "Directory Description File" (DDF) without path.
Q. : What is a "Directory Description File"?
A. : This is a file inside which you can place the description of the current directory (or some HTML code). This file should be located in a directory for which it is intended. This is a very useful file, if inside directory exists DDF then for ~TITLE~ variable the contents file will be used. If DDF is not exist then ~TITLE~ is equal to short directory name.
Ex. : dir_desc.txt.
IncriminateNNCount This variable defines the order of numbering of records (variable ~DIR_NN~).
Yes - Simple numbering. Adds one to serial number of current record.
No - Skip numbering. Don't include current record into numbering of records. In this case ~DIR_NN~ is blank.
 
4.10 Section [ LocalIndexPage ]

CreateLocalIndex
Yes - to create Local Index page.
No - don't create Local Index page.
LocalIndexTemplate This variable defines the name of HTML-template for LocalIndex-page.
Ex. 1: Templates\LocalIndex.htm
Ex. 2: C:\My\GM\Templates\LocalIndex.htm
LocalIndexPageFileName This variable defines Local Index page filename without path.
Ex. : LocalIndexPageFileName=index.html
AutoRemoveDisabledButtons See this topic for details.
If button on navigation panel points on nonexistent HTML-page, then for this button will be used variable with suffix "A", else - "O".
BtnNavTableBeginA
BtnNavTableBeginO
This variable should contain a string HTML-code which will be used as "Table Begin"-button.
BtnNavTableEndA
BtnNavTableEndO
This variable should contain a string HTML-code which will be used as "Table End"-button.
BtnNavShellBeginA
BtnNavShellBeginO
This variable should contain a string HTML-code which will be used as "Shell Begin"-button.
BtnNavShellEndA
BtnNavShellEndO
This variable should contain a string HTML-code which will be used as "Shell End"-button.
BtnNavMainIndexA
BtnNavMainIndexO
This variable should contain a string HTML-code which will be used as "Main Index"-button.
 
4.11 Section [ Auto ]

AutoIncrementAStart
AutoIncrementBStart
AutoIncrementCStart
AutoIncrementDStart
AutoIncrementEStart
This variable defines a startup values of AutoIncrement variables.
Q. : What is "AutoIncrement" variables?
A. : This is a special variables which value will be incremented according to subdir depth level. The incremental step is equal to AutoIncrement?Start.
There are no differences between these variables. You can use any one.
These variables are very useful for creation of links on BACKGROUNDs or TITLE/BUTTON images.
 
4.12 Section [ User ]
The user can create the unlimited number of user-defined variables. The names of user-defined variable should consist of symbols: [A...Z] [a...z] [1..0] - _
You can use user-defined variables inside other user-defined variables.
Note: The names of user-defined variable should not coincide with names of system variables.
For instance:
   [User]
   USER_SAMPLE1="<a HREF="www.XYZ.com">Jump to XYZ</a>"
   MyVariable="Hello, World!"
   CreateTime="15 Oct 2000"
   Ver=1.0
   Build=1234
   Release=~Ver~ ~Build~ ~CreateTime~
User-defined variables may be used in any HTML-fragment, inside any HTML-keys in GM-project and inside Image or Directory description files.
You should specify a name of user-defined variable between ~ symbols.
The names of user-defined variables are not case sensitive.
For example:
   ~USER_SAMPLE1~
   ~MyVariable~
   ~CreateTime~
   ~Release~
Note: If, in the some directory, the name of "main" and "local" user-defined variable will coincide, then value of "local" user-defined variable will be used. Thus you can "reassign" values of "main" user-defined variables.
 
4.13 Section [ Messages ]
This section is located inside a language modules: /Language/*.lng. Language module contains all messages which are used in the program (exclude some special system messages).
For creation the additional modules you can use special utility - "Localizator". Read details in the file ReadMe.txt.
 
4.14 Section [ Settings ]
These variables are intended for tuning "GM Shell" and located in the file gm.ini. If this file does not exist, then this file will be created with the default parameters. On user close "GM Shell" the some values of variables will be saved in this file automatically.

InitialDir
This variable defines the current worker a directory for "GM Shell".
Ex. : D:\Work\GM\
Language This variable defines the path and filename of language-module which program must use for output of different messages.
By default, with the program are distribut the next language modules:
English.lng - English language,
Russian.lng - Russian language,
German.lng - German language,
Dutch.lng - Dutch language.
Spanish.lng - Spanish language.
You can create the language module for the necessary language and use it. See topic "Messages" for details.
Ex. : Language=Language\English.lng
CreateLog Yes - to create a log-file.
No - to not create a log-file.
LogFileName This variable defines a log filename. If you specified filename only, then log-file will be created in the current directory.
Ex. 1: gm.log
Ex. 2: c:\temp\gm.log
LogOverwrite Yes - to overwrite a log-file with each start of program.
No - to append new data in the end of existing log-file.
LogTimeStamp Yes - to append "time stamp" for each record inside a log-file.
No - don't insert "time stamp".
"Time stamp" is substring of format: "dd.mm.yyyy hh:mm:ss"
Ex. : "28.02.2002 16:29:45"
MainFormTop,
MainFormLeft
The coordinates of main window "GM Shell".
LogFormLeft,
LogFormTop,
LogFormWidth,
LogFormHeight
The coordinates and sizes of log-window.
LogFormShow Yes - to show the log-window at start.
No - hide the log-window at start.
Priority The process priority class [0...5]: Idle, Lowest, Lower, Normal, Higher, Highest.
Ex. : "3"
ShowMessageOnComplete Show the message if process of gallery generation be successful.
ExternalProcessName External application which will be automatically started after end of process of gallery generation.
WaitTermination External application startup mode.
Yes - wait the end of work of the external application.
No - immediately return to the "GM-Shell" after start of the external application.
ExitOnComplete Yes - Immediate exit from "GM-Shell" if process of gallery generation be successful.

 
5. The description of all possible variables Top

  The program use of a set of special variables (markers) inside HTML-fragments. All these variables will be automatically replaced with real values during generation of gallery. Any variable may be used over and over again in any HTML-fragments for which it is intended.
  I have divided all variables on the following groups depending on "area of action":
TCF - Any "Table" HTML-fragment
SCF - Any "Image Shell" HTML-fragment
MICF - Any "Main Index" HTML-fragment
LICF - Any "Local Index" HTML-fragment
CCF - HTML-fragment "Cell" from "Table"-template
MIRC - HTML-fragment "Record" from "Main Index"-template
CSV - For variables MainCSVFormat and LocalCSVFormat
JC - Inside variable JPEG Comment from IP-scenario
TNI - HTML-Keys from section [ TableNavigation ]
SNI - HTML-Keys from section [ ShellNavigation ]
MIPI - HTML-Keys from section [ MainIndexPage ]
LIPI - HTML-Keys from section [ LocalIndexPage ]
UDV - User-Defined variables
 
5.01 Group "TCF + SCF + MICF + LICF + TNI + SNI + MIPI + LIPI + UDV + JC"

~CURRENT_SYSTEM_DATE~
~CURRENT_SYSTEM_TIME~
Inserts current system date/time (Numerical format).
Note: Check value in "My Computer / Control Panel / Regional Settings / Date / Short date style" must be set [dd.mm.yyyy].
Ex. : 01.01.2000
Ex. : 14:35:36
~CURRENT_DAY_VALUE~
~CURRENT_MONTH_VALUE~
~CURRENT_YEAR_VALUE~
Inserts the current day/month/year values.
Ex. : 11
Ex. : 10
Ex. : 2000
~CURRENT_HOUR_VALUE~
~CURRENT_MINUTE_VALUE~
~CURRENT_SECOND_VALUE~
Inserts the current hour/minute/second values.
Ex. : 11
Ex. : 30
Ex. : 56
~CURRENT_DAYOFWEEK_NAME_LONG~
~CURRENT_DAYOFWEEK_NAME_SHORT~
Inserts the current day of the week (long/short format).
Ex. : Saturday
Ex. : Sat
Note: This variables depends from Language key. You can change values of this variables in file *.lng.
~CURRENT_MONTH_NAME_LONG~
~CURRENT_MONTH_NAME_SHORT~
Inserts the current month of the year (long/short format).
Ex. : December
Ex. : Dec
Note: This variables depends from Language key. You can change values of this variables in file *.lng.
~CURRENT_UTC_DATE~
~CURRENT_UTC_TIME~
Inserts current UTC date/time.
Ex. : 11.11.2000
Ex. : 11:11
~CURRENT_INTERNET_DATE~
~CURRENT_INTERNET_TIME~
Inserts current internet date/time. For details see www.swatch.com
Ex. : 11.11.2000
Ex. : 777
~GM_FULL_DIR_NAME~
~GM_FULL_DIR_NAME_W~
Inserts the full (ablosute) name your "Gallery Maker" directory.
Ex. : "Gallery Maker" installed into directory "C:\Program Files\GM". In this case for ~GM_FULL_DIR_NAME~ will be used C:\Program Files\GM and for ~GM_FULL_DIR_NAME_W~ - file:///C:|Program%20Files/GM
~RANDOM_COUNT~ Inserts unique autogenerated variable, can be used for creation banner-links.
Ex. : 23194830640
 
5.02 Group "TCF + SCF + LICF + CSV + JC"

~SRC_FULL_DIR_NAME~
~DST_FULL_DIR_NAME~
~SRC_FULL_DIR_NAME_W~
~DST_FULL_DIR_NAME_W~
Inserts the full (ablosute) SrcDir and DstDir directory name.
Ex. : SrcDir=C:\my\pics\Source. In this case for ~SRC_FULL_DIR_NAME~ will be used C:\my\pics\Source and for ~SRC_FULL_DIR_NAME_W~ - file:///C|/my/pics/Source
Note: if you set DstDirsCase = 1 or 2 then value ~DST_FULL_DIR_NAME~ can differ from DstDir.
~SRC_MIDDLE_DIR_NAME~
~DST_MIDDLE_DIR_NAME~
~SRC_MIDDLE_DIR_NAME_W~
~DST_MIDDLE_DIR_NAME_W~
Inserts the middle part of subdirectory name. For SrcDir and DstDir directory value of this variable equivalent ''.
Ex. : SrcDir=c:\my\pics and inside it exists subdirectory "c:\my\pics\items\dir1". In this case for ~SRC_MIDDLE_DIR_NAME~ for this subdirectory will be accepted "items\dir1" but for ~SRC_MIDDLE_DIR_NAME_W~ - "items/dir1/". Please pay attention on last /, this is very important when you want to create web-pages with absolute addressing.
Note: If you set DstDirsCase = 1 or 2 then values ~SRC_MIDDLE_DIR_NAME~ and ~DST_MIDDLE_DIR_NAME~ may be different.
~SRC_SHORT_DIR_NAME~
~DST_SHORT_DIR_NAME~
~SRC_SHORT_DIR_NAME_W~
~DST_SHORT_DIR_NAME_W~
Inserts the short name of the current subdirectory. For SrcDir and DstDir directory this value equivalent last level of SrcDir or DstDir.
Ex. 1: SrcDir=c:\arc\pics and DstDir=d:\my\imgs. In this case for ~SRC_SHORT_DIR_NAME~ will be accepted "pics" and for ~DST_SHORT_DIR_NAME~ - "imgs".
Ex. 2: SrcDir=c:\my\pics and inside exists subdirectory "c:\my\pics\items\dir1". In this case for this subdirectory ~SRC_SHORT_DIR_NAME~ and ~DST_SHORT_DIR_NAME~ will be accepted "Dir1".
Note: If you set DstDirsCase = 1 or 2 then values ~SRC_SHORT_DIR_NAME~ and ~DST_SHORT_DIR_NAME~ may be different.
~REL_PATH~
~REL_PATH_W~
Inserts the relative path from some subdirectory inside DstDir to corresponding directory inside SrcDir.
Ex. : SrcDir=c:\my\pics and inside it exists some subdirectory "c:\my\pics\dir1" and DstDir=c:\pics\out. In this case for directory c:\pics\out\ the value of this variable will be accepted ../../my/pics, for subdirectory c:\pics\out\dir1 - ../../../my/pics/dir1.
Note: You can't use this variable if SrcDir and DstDir are located on different disks. In this case I recommend use SRC_FULL_DIR_NAME_W.
Note: All variables with suffix _W will be converted in Web syntax:
Space - %20, ! - %21, & - &amp;, \ - /, > - &gt;, < - &lt;
 
5.03 Group "TCF + SCF"

~TABLE_PAGE_INDEX~
Inserts index of current "Table" HTML-page.
Ex. : 2
~BEG_IMAGE_INDEX~ Inserts a index of the first image on the current "Table" HTML-page.
Ex. : 1
~END_IMAGE_INDEX~ Inserts a index of the last image on the current "Table" HTML-page.
Ex. : 10
~IMAGES_ON_PAGE~ Inserts number of images on the current "Table" HTML-page.
Ex. : 10
 
5.04 Group "CCF + SCF + CSV + JC"

~SRC_IMAGE_NAME_S~
~SRC_IMAGE_NAME_L~
~SRC_IMAGE_NAME_SW~
~SRC_IMAGE_NAME_LW~
Inserts filename of source image as short-, long- or web-format.
Ex. : Black Moon & Dark Sun
Ex. : Black Moon & Dark Sun.jpg
Ex. : Black%20Moon%20&amp;%20Dark%20Sun
Ex. : Black%20Moon%20&amp;%20Dark%20Sun.jpg
~SRC_IMAGE_DATE~
~SRC_IMAGE_TIME~
Inserts date or time of the source image.
Ex. : 01.01.2000
Ex. : 14:09:10
~SRC_IMAGE_SIZE_B~
~SRC_IMAGE_SIZE_K~
~SRC_IMAGE_SIZE_M~
Inserts the size of the source image in bytes/Kbytes/Mbytes.
Ex. : 126300
Ex. : 126,3
Ex. : 0,126
~SRC_IMAGE_CRC32~ Q. : That is a "CRC-32"?
A. : CRC-32 is an acronym for the 32 bit Cyclical Redundancy Check algorithm. CRC-32 generally refers to a specific 32 bit CRC formula sanctioned by the CCITT, an international standards body primarily concerned with telecommunications. CRC-32 is used to verify the integrity of blocks of data.
You may also calculate CRC-32 for any file with the help of external utility crc32.exe.
Ex. : 44DE5AD1
~SRC_IMAGE_WIDTH~ Inserts width of the source image in pixels.
Ex. : 800
~SRC_IMAGE_HEIGHT~ Inserts height of the source image in pixels.
Ex. : 600
~SRC_IMAGE_BPP~ Inserts the number of bits required to indicate the color of a pixel (bits per pixel). This value may be 1, 4, 8, 16, 24 or 32.
Ex. : 24
~SRC_IMAGE_JPEG_COMMENT~ Inserts the comment-field text from the source JPEG-file.
For editing the comments inside source JPEG-files you can use special external utility - JCE.exe.
Note: Not all JPEG readers or writers will recognize or pay attention to this text.
 
5.05 Group "CCF + SCF + CSV"

~THUMB_IMAGE_NAME_S~
~THUMB_IMAGE_NAME_L~
~THUMB_IMAGE_NAME_SW~
~THUMB_IMAGE_NAME_LW~
~SHELL_IMAGE_NAME_S~
~SHELL_IMAGE_NAME_L~
~SHELL_IMAGE_NAME_SW~
~SHELL_IMAGE_NAME_LW~
Inserts filename of Thumb- or Shell-image as short-, long- or web-format.
Ex. : t_Black Moon & Dark Sun
Ex. : t_Black Moon & Dark Sun.jpg
Ex. : t_Black%20Moon%20&amp;%20Dark%20Sun
Ex. : t_Black%20Moon%20&amp;%20Dark%20Sun.jpg
Ex. : s_Black Moon & Dark Sun
Ex. : s_Black Moon & Dark Sun.jpg
Ex. : s_Black%20Moon%20&amp;%20Dark%20Sun
Ex. : s_Black%20Moon%20&amp;%20Dark%20Sun.jpg
~THUMB_IMAGE_DATE~
~THUMB_IMAGE_TIME~
~SHELL_IMAGE_DATE~
~SHELL_IMAGE_TIME~
Inserts date or time of Thumb- or Shell-image.
Ex. : 01.01.2000
Ex. : 14:09:10
~THUMB_IMAGE_SIZE_B~
~THUMB_IMAGE_SIZE_K~
~THUMB_IMAGE_SIZE_M~
~SHELL_IMAGE_SIZE_B~
~SHELL_IMAGE_SIZE_K~
~SHELL_IMAGE_SIZE_M~
Inserts the size of Thumb- or Shell-image in bytes/Kbytes/Mbytes.
Ex. : 126300
Ex. : 126,3
Ex. : 0,126
~THUMB_IMAGE_WIDTH~
~SHELL_IMAGE_WIDTH~
Inserts width of the Thumb- or Shell-image.
Ex. : 200
~THUMB_IMAGE_HEIGHT~
~SHELL_IMAGE_HEIGHT~
Inserts height of the Thumb- or Shell-image.
Ex. : 122
~THUMB_IMAGE_BPP~
~SHELL_IMAGE_BPP~
Inserts the Thumb- or Shell-image color depth (bits per pixel).
Ex. : 24
~THUMB_IMAGE_JPEG_COMMENT~
~SHELL_IMAGE_JPEG_COMMENT~
Inserts the comment-field text from the Thumb- or Shell-image JPEG-file.
~THUMB_IMAGE_USER_COMMENT~
~THUMB_IMAGE_USER_COMMENT~
Inserts the content of "comment file".
~THUMB_IMAGE_INDEX~
~SHELL_IMAGE_INDEX~
Inserts a index of the current Thumb- or Shell-image.
Ex. : 2
~SHELL_PAGE_INDEX~ Inserts index of current "Image Shell" HTML-page.
Ex. : 2
~SHELL_PAGE_NAME_S~
~SHELL_PAGE_NAME_L~
~SHELL_PAGE_NAME_SW~
~SHELL_PAGE_NAME_LW~
Inserts filename of "Image Shell" HTML-page as short-, long- or web-format.
Ex. : shell ImageName
Ex. : shell ImageName.htm
Ex. : shell%20ImageName
Ex. : shell%20ImageName.htm
 
5.06 Group "TCF + LICF"

~TABLE_BEGIN~
Inserts valid BtnNavTableBegin? string from GM-project for "Table" or "Local Index" HTML-pages.
~TABLE_END~ Inserts valid BtnNavTableEnd? string from GM-project for "Table" or "Local Index" HTML-pages.
 
5.07 Group "TCF"

~TABLE_PREV~
Inserts valid BtnNavTablePrev? string from GM-project.
~TABLE_NEXT~ Inserts valid BtnNavTableNext? string from GM-project.
~TXT_NAV~ The auto-generated expression, which consists from BeforeTxtNav + combination TxtNavA, TxtNavO and TxtNavSeparator expressions + AfterTxtNav.
 
5.08 Group "TCF + TNI"

~TABLE_PREV_PAGE~
Inserts filename of the previous "Table"-page in the current directory.
Ex. : Page2.htm
~TABLE_NEXT_PAGE~ Inserts filename of the next "Table"-page in the current directory.
Ex. : Page4.htm.
 
5.09 Group "TNI"

~HTML_PAGE~
This variable used inside TxtNavA and TxtNavO strings for inserts a filename of "Table"-page for each "Text"-link.
Ex. : Page2.htm
~TXT_NAV_LABEL~ Inserts a navigation-link label.
Ex. : Page
~PAGE_INDEX~ Inserts "Table"-page index.
Ex. : 2
 
5.10 Group "SCF + LICF"

~SHELL_BEGIN~
Inserts valid BtnNavShellBegin? string from GM-project for "Image Shell" or "Local Index" HTML-pages.
~SHELL_END~ Inserts valid BtnNavShellEnd? string from GM-project for "Image Shell" or "Local Index" HTML-pages.
 
5.11 Group "SCF"

~SHELL_PREV~
Inserts valid BtnNavShellPrev? string from GM-project.
~TABLE~ Inserts BtnNavTable string from GM-project.
~SHELL_NEXT~ Inserts valid BtnNavShellNext? string from GM-project.
 
5.12 Group "SCF + SNI"

~SHELL_PREV_PAGE~
Inserts filename of the previous "Image Shell"-page in current directory.
Ex. : Page2.htm
~TABLE_PAGE_NAME_S~
~TABLE_PAGE_NAME_L~
~TABLE_PAGE_NAME_SW~
~TABLE_PAGE_NAME_LW~
Inserts filename of Table HTML-page as short, long or web-format.
Ex. : table Page2
Ex. : table Page2.htm
Ex. : table%20Page2
Ex. : table%20Page2.htm
~SHELL_NEXT_PAGE~ Inserts filename of the next "Image Shell"-page in current directory.
Ex. : Page4.htm.
 
5.13 Group "TCF + SCF + LICF"

~MAIN_INDEX~
Inserts valid BtnNavMainIndex? string from GM-project for "Table", "Image Shell" or "Local Index" HTML-pages.
 
5.14 Group "TCF + SCF"

~LOCAL_INDEX~
Inserts valid BtnNavLocalIndex? string from GM-project for "Table" or "Image Shell" HTML-pages.
 
5.15 Group "TCF + SCF + LICF + MIRC + TNI + SNI + MIPI + LIPI"

~DIR_NN~
Inserts serial number for current record.
Ex. : 5
~PATH~ Inserts the relative path from Main Index-page to current directory.
Ex. : DstDir=C:\temp\Dst\, in this case for subdirectory C:\temp\Dst\Dir1\ value of this variable equal Dst/Dir1/
~TABLE_BEGIN_PAGE~ Inserts filename of the first "Table"-page in the current directory.
Ex. : Page1.htm
~TABLE_END_PAGE~ Inserts filename of the last "Table"-page in the current directory.
Ex. : Page99.htm
~SHELL_BEGIN_PAGE~ Inserts filename of the first "Image Shell"-page in the current directory.
Ex. : Page1.htm
~SHELL_END_PAGE~ Inserts filename of the last "Image Shell"-page in the current directory.
Ex. : Page99.htm
~MAIN_INDEX_PAGE~ Inserts filename of "Main Index" HTML-page without path.
Ex. : Index.htm.
~LOCAL_INDEX_PAGE~ Inserts filename of "Local Index" HTML-page without path.
Ex. : Index.htm.
~DIR_TITLE~ Inserts short directory name or contents Directory Description File.
Ex. : Dir1
~DIR_TABLE_PAGES_COUNT~ Inserts total number of "Table" HTML-pages in current directory.
Ex. : 5
~DIR_IMAGES_COUNT~ Inserts total number of images (without thumbnails) in current directory.
Ex. : 25
~DIR_IMAGES_SIZE_B~
~DIR_IMAGES_SIZE_K~
~DIR_IMAGES_SIZE_M~
Inserts the total size of images in current directory in bytes/Kbytes/Mbytes.
Ex. : 5120123
Ex. : 5120,1
Ex. : 5,1
~LOCAL_CSV_NAME~ Inserts the name of the local CSV-file for the current directory.
Ex. : Local.csv
 
5.16 Group "MICF"

~TOTAL_NN~
Inserts the total number of numberred records in gallery.
~TOTAL_RECORDS~ Inserts the total number of records (subdirectories) in gallery.
~TOTAL_TABLE_PAGES_COUNT~ Inserts the total number of "Table" HTML-pages in gallery.
~TOTAL_IMAGES_COUNT~ Inserts the total number of images in gallery (without thumbnails).
~TOTAL_IMAGES_SIZE_B~
~TOTAL_IMAGES_SIZE_K~
~TOTAL_IMAGES_SIZE_M~
Inserts the total size of images in gallery in bytes/Kbytes/Mbytes.
~MAIN_CSV_NAME~ Inserts the name of the main CSV-file for the gallery.
Ex. : Main.csv
 
5.17 Group "TCF + SCF + LICF + TNI + SNI + MIPI + LIPI + UDV"

~AutoIncrementA~
~AutoIncrementB~
~AutoIncrementC~
~AutoIncrementD~
~AutoIncrementE~
Insert current value of AutoIncrement? variable.
Ex. : DstDir=C:\PICS\OUT\ and AutoIncrementAStart="../", in this case for directory C:\PICS\OUT\ value ~AutoIncrementA~ will be ../, for subdirs C:\PICS\OUT\L1 or C:\PICS\OUT\K1 - ../../, for subdirs C:\PICS\OUT\L1\M2 or C:\PICS\OUT\K1\S2 - ../../../
 
6. Special expressions Top

Q: What is "special expression"?
A: This is special marker which you can insert inside any HTML-fragment, some keys from GM-project and any used-defined variables. The special expressions are analysed and processed during post-process stage. You may ask me "Why?". Answer: At time of process of gallery generations some files (for example, Main Index or Main CSV) are not yet ready. Expressions are processed in same order in what they are listed below. If during processing the expression appears some error, then this expression be saved inside HTML-pages without any changes.
Note: The program uses next combinations of symbols for extracting the parameters of expressions: "," and " ) (spaces are allowed), be careful!

LoadFromFile ( "FileName" )
Reads the file specified in "FileName" and loads the data into the current position.
For specify "FileName" you must use full filename or valid internal (or user-defined) variables or their combinations.
Ex. 1: LoadFromFile( "c:\gallery\test1" )
Ex. 2: LoadFromFile( "~SRC_FULL_DIR_NAME~\test2" )
Ex. 3: LoadFromFile( "~GM_FULL_DIR_NAME~\test3" )

SearchAndReplace ( "Text", "SearchText", "ReplaceText", "CodePage" )
Search the "SearchText"-pattern inside source "Text"-string and, if founded, replace it with "ReplaceText"-pattern. In any case, place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations.
Parameter "CodePage" required for correct "not case sensitive" searching the "SearchText"-pattern. "CodePage" must be equal to some parameter "CPName" from file CodePage.tbl
Ex. 1: SearchAndReplace( "c:\gallery\test1", "\", "/", "dos" )
Ex. 2: SearchAndReplace( "any text", "te", "necessary te", "win" )
Ex. 3: SearchAndReplace( "~SRC_FULL_DIR_NAME~\test2", ":\", "", "dos" )
Note: Values of "Text", "SearchText" and "CodePage" can't be blank.

UpperCase ( "Text", "CodePage" ),
LowerCase ( "Text", "CodePage" )

Convert source string "Text" to upper/lower case. To place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations.
Parameter "CodePage" required for correct transformation the case of symbols. "CodePage" must be equal to some value "CPName" from file CodePage.tbl
Ex. 1: UpperCase( "my text", "dos" )
Ex. 2: LowerCase( "Hello, girl!", "win" )
Note: Value of "Text" can't be blank.

RecodeText ( "Text", "SourceCodePage", "TargetCodePage" )
Recode source string "Text" into other code page (from codepage "SourceCodePage" to "TargetCodePage"). To place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations.
"SourceCodePage" and "TargetCodePage" must be different and equal to some value "CPName" from file CodePage.tbl
Ex. 1: RecodeText( "La-La", "dos", "koi" )
Ex. 2: RecodeText( "Hello!", "win", "dos" )
Note: Value of "Text" can't be blank.

SaveToFile ( "Text", "FileName", "Mode" )
Save data ("Text"-pattern) to file specified in "FileName". The source "Text" will be restored into the current position inside HTML-page.
For specify "FileName" you must use full filename or valid internal (or user-defined) variables or their combinations.
Available modes:
A - Append. Opens the file, if it exists. If the file does not exist, the function creates the new file. Append data to the end of file.
O - Overwrite. Creates a new file (if it don't exists). The function overwrites the file if it exists.
Ex. 1: SaveToFile( "any text", "c:\temp\statistics.txt", "A" )
Ex. 2: SaveToFile( "any text", "c:\temp\~SRC_IMAGE_NAME_S~.txt", "O" )
Note: If destination directory does not exist that it will be automatically created.
 
7. Registration and licensing Top

You don't needed it. This product is a FREEWARE ;)
 
8. Acknowledgments Top

- Alex Belashov (belcomp.newmail.ru a_lexx@chat.ru) for his help.
- Mike Lischke (public@lischke-online.de) for his excellent graphic library.
- Gordon Alex Cowie (gfody@jps.net).
 
9. "GM" Gallery Hall Top

If You has created the gallery by "Gallery Maker" and published it in the Web, please, send me url and I'll add your gallery into "GM Gallery Hall".

LeVeL BBS Fantasy/Fantastic and Eros/Pin-Up Art Gallery
Cactus Picture Gallery
Photo gallery by Max Smolev
Gallery of Rats
XIII School-Seminar of Young Scientists and Specialists (English)
XIII School-Seminar of Young Scientists and Specialists (Russian)
Baykal spine '99 (Russian)
Gallery of public transport Saint Petersburg (Russian)
Aircraft show under Saint Petersburg (Russian)
PlazTech (Russian)
Junio-R - World children camp (Russian)
Photo gallery by Eugene Smirnov (Russian)
Vonga - White Sea 2001 (Russian)
Fe-n-Male Photo Gallery (Russian)
Nice girls (high-quality erotic photos)
... your gallery ...
 
10. Awards Top

ListSoft Good Wow! BestSoft
 
11. Download and how to contact me Top

Visit LeVeL BBS Gallery Maker in the Web:
  GM home page
  USA mirror
  Russia mirror
  Moldova mirror
Good news! From www.portmix.com you can download the latest version of GM with visual shell.
If you have any comments, suggestions or you found bugs please mail me.
And don't forget to check the web site for news and updates.

Copyright © 1999-2002 Sergey Antoshin, Russia.