© Copyright 2001 ZZEE. http://www.zzee.com
System requirements: Windows 95 / 98 / ME / NT 4.0 / 2000 / XP.
Art HTML Listing creates filtered, sorted, fully customizable directory listings. It is more flexible than automatic folder indexing provided by the web servers. It features:
You can install it using setup wizard or manually. To install it using setup wizard, launch setup.exe after extracting the distribution. To install it manually, unpack the distribution to the target folder and rename "setup.exe" to "zahl20.exe".
When setup is complete, use "Art HTML Listing" link located in Start/Programs/ZZEE Art HTML Listing to launch the program.
Note users of Windows ME and XP: you need to extract distribution zip file prior to installation, do not run setup.exe from inside zip file.
Note users of Windows NT 4.0, 2000 and XP: you may need some administrative rights for the installation. If you can't install the software, ask your system administrator or log in under administrator account.
To uninstall the software, use Add/Remove Programs link from Control Panel.
Art HTML Listing is a shareware. Unregistered copy has some limitations. You can evaluate the program during 30 days. When this term expires you must either register it or cease using and uninstall it.
The difference between registered and unregistered versions:
Unregistered | Registered |
---|---|
The output file is cut at 9 Kb, which is enough to test on small sized folders how the program works. | The size of the output file is unlimited. |
Output file has a note that it is generated with unregistered copy of the Software. | There are no annoying notes. The output file is built in accordance with a template only. |
Command line mode is not available. | Command line mode is supported. |
Here you select if you need to make a directory or an archive file listing and specify the path to the source directory or archive file.
If "Directory listing" is checked, then when you click "Path select..." button, directory browser comes up. If "Archive file listing" is checked, then when you click "Path select..." button, file browser comes up.
The output is generated based on a template. You can select a template from a drop down list. You can edit the template selected by using "Edit template" button.
You can specify here either file name such as "index.html" or a full path to an output file.
If you build the listing recursively with "Each subfolder generates its own file" option checked, then you need to provide just a file name, because a file with this name will be created in each folder within a source folder. If you provide full path in such situation, the program extracts a file name from it and uses it to create multiple listing files.
In other cases you can specify either full or relative path to the file. If you provide a full path it will be used to save a file. If you provide a file name only, the file will be created in the source directory, or if you build an archive file listing, then in the folder that contains the source archive file.
You can restrict files to be output. To do so, you need to specify file name pattern in the Include box and Skip box.
By default Include box has "*" mask and Skip box has empty ("") mask. Such settings allow to process all files.
Use 2 wildcards symbols:
'*' - matches any number (even zero) of any symbols;
'?' - matches zero or one symbol;
To separate several patterns use semicolon ';' . Pattern matching is case
insensitive.
Example patterns are:
* | any file (default pattern) |
*.* | any file with an extension |
*.htm? | any html file |
*.gif; *jp?g; *.png | any gif, jpeg or png image |
manual_*.pdf | any pdf file, beginning with "manual_" |
*2000*.zip;*2000*.gz;*2000*.tar | any zip, tar or gz file, having "2000" in it |
*readme* | any file having "readme" in it |
Processing rules:
Note:
Like file filter, you can process the directories selectively. Directory filter uses the same rules as file filter.
You can output files based on modification time. If "Process only files modified between" is unchecked, then files are processed regardless of their modification time.
You can output files based on size. If "Process only files with size between" is unchecked, then files are processed regardless of their size.
You can sort files and folders either by name, by extension, by size or date.
Ascending means that the items are output from 0 to 9 and from A to Z. Descending is a reverse to ascending. When ascending is specified, then folders come first. When descending is specified, then files come first.
Note: When both Recursive directory processing and All output go to a single file are checked, or processing an archive file, and you specify sorting, then it is performed only within the parent directory of each level, i.e. sorting is effective on the same level. Files and directories from different levels or that belong to different parents are not ordered in relation to each other.
You can build directories recursively. It means that Art HTML Listing processes the directory itself, then all its child directories, then their children and so forth on all levels of depth.
The program can create index files with the same name in all descendant folders [if Each subfolder generates its own file is checked] or output information about all successive files and folders into the single file [if All output go to a single file is checked].
When you build recursively and have All output go to a single file checked, then tree styles such as Tree, Tree expandable / collapsible or Table of contents do their best and are more suitable. Otherwise, linear styles such as Classic, Modern or Download are preferred.
Note: When you build a listing of an archive file, then the output is like both Recursive directory processing and All output go to a single file are checked. That is, in such a case these settings are not taken into account.
Note: When both Recursive directory processing and All output go to a single file are checked, or processing an archive file, and if you specify sorting, then it is performed only within the parent directory of each level, i.e. sorting is effective on the same level. Files and directories from different levels or that belong to different parents are not ordered in relation to each other.
If you use linear styles such as Modern or Download, then you can either display folders in the output file or not. For tree-like styles this option doesn't make any difference, as folders are non-terminal nodes of the tree and therefore can not be omitted from the output.
Some styles can include summary. "Show summary" specifies if to include summary to the output file or not.
Art HTML Listing allows you to specify output date format. You can use short or long dates or months, can omit or specify hours, minutes and seconds, etc. The program uses C run-time library function "strftime" to format dates. You can also convert dates to GMT.
Examples:
"See example" button is supposed to evaluate format that you provide in Date Format box.
Format specifiers are:
%a | short weekday name |
%A | full weekday name |
%b | short month name |
%B | full month name |
%c | short date and time (default format) |
%d | day of month (01 – 31) |
%H | hour in 24-hour format (00 – 23) |
%I | hour in 12-hour format (01 – 12) |
%j | day of year (001 – 366) |
%m | month (01 – 12) |
%M | minute (00 – 59) |
%p | a.m./p.m. indicator |
%S | second (00 – 59) |
%U | week of year, decimal number (00 – 51), Sunday is the first day of week |
%w | weekday (0 – 6), Sunday is 0 |
%W | week of year, decimal number (00 – 51), Monday is the first day of week |
%x | date |
%X | time |
%y | year without century (00 – 99) |
%Y | year with century |
%z | time zone name |
%% | percent sign |
%#c | long date and time |
%#x | long date |
In some cases inserting '#' between '%' and a letter means removing leading zeroes if they may occur.
Some styles such as Modern or Tree use icon images.
To display an image in the HTML file, image tag must specify a path to the image. That's why Images directory box is needed.
When you view the result of a generated file on a local computer you need to provide a local path to the images folder, so images can show up, you can do this by using "Put local path" button.
If you are going to place the file to the web server, then you need to complete the following steps:
Then, being uploaded to the server, images on the generated page will show up.
You also can replace original images by your own or reassign image mapping. This is described here.
Images used are taken from Apache distribution and are in public domain, it means that you can freely use or redistribute them. Please see file readme_images.txt from "images" folder of the program installation directory for credit and copyright information.
If your file and folder names use only Latin letters, digits, underscore '_', dash '-' and period '.', then you may omit this section.
According to RFC #2396, only Latin letters, digits and few special characters are allowed in URLs, therefore any national characters, spaces, etc. should be encoded before transmitting to the server. This can be done by the web page author, who pre-encodes URLs on the web page, or by a web browser, which ultimately transmits a request with the URL in it to the server and may encode it on the fly. Therefore, the behavior of link retrieval is browser specific, if characters used to identify a resource don't come from generic restricted set. For example, some browsers may replace a space [" "] found in a file name by "%20" sequence, others may not.
Furthermore, HTML or XML (if XHTML as output format is used) also restrict the characters that may be used in URLs as they don't allow characters used in HTML markup to be within the attributes' values. Consider typical link:
<a href="my file.html">my file.html</a>
Here "my file.html" is a value of an attribute with name "href" of an element, which name is "a". Due to XML / XHTML restrictions such value may not contain markup symbols '<', '>', '"' and '&' .
Art HTML Listing allows 2 methods of encoding links to the files and directories: with HTML escaping or so called URL encoding. Their selection doesn't matter if the file and directory names use only Latin letters, digits and common symbols such as underscore '_', dash '-' and period '.'. But if your filenames use other characters like national symbols, then you need to specify one of encodings.
By default URLs are encoded with URL_encode method. This method should work if the file is to be put on the server, as an HTTP server usually url_decodes the URL requested. This method was tested with Apache and MS IIS web servers as well as MS and Netscape browsers.
If the generated file is to be used locally, then HTML Escaping might work, though URL encoding could too, depending on browser capabilities.
HTML Escaping method does the following:
URL Encoding method does the following:
More about URLs can be found at http://www.ietf.org/rfc/rfc2396.txt .
You can select to display size of files either in bytes, KBs or MBs.
If you want to upload a directory contents to a server and provide an index file to it, then:
It is recommended that you name output files as "index.html", as this filename is a default name for index file with the most popular web servers. If a visitor enters a URL like this:
http://your_domain.com/some_folder/
Then web server returns index.html file (if any) residing in "some_folder".
Read how upload images to a remote server.
You can change file size representation.
Art HTML Listing uses current Windows number format settings to format file size, the only difference is that Art HTML Listing doesn't display decimal fraction and groups numbers by 3 digits.
To adjust file size format, go to: Start/Settings/Control Panel/Regional Settings, then select "Number" tab. Modify settings and click OK to save changes. Then restart a program so changes take effect.
Note Windows ME users: You may need to click "View all Control Panel Options" link in order to view "Regional Settings".
To generate listing files Art HTML Listing uses output templates located in zzdata folder of the program installation directory. All templates are described in the file styles.txt, which is simple XML file.
You can edit any template by hand, using generic text editor, for example, Notepad. You need to be familiar with low level HTML a little.
Each HTML template uses cascading style sheet (CSS) to define appearance such as colors, fonts, etc. You can adjust colors, background and fonts by editing this section of a template. You also can modify the layout of a template, please see the section Creating own templates.
More information about HTML and CSS can be found at W3C web site.
If you are familiar with HTML, you can easy change the layout of a template by moving code segments using copy and paste operations. For example, you can move summary information to the top of the html body.
If you modify existing templates or write your own, it is highly recommendable that you:
To add a template:
Templates use ZZI for text preprocessing, which is very basic text preprocessor, supporting only 3 constructs:
<!--#echo var="var_name"-->
Outputs a value of a variable which name is var_name. No close tag is
required.
<!--#if var="var_name"-->
Something if variable var_name is not zero
<!--#else-->
Something otherwise
<!--#endif-->
Does conditional output. Requires close tag <!--#endif-->.
<!--#else--> is optional.
<!--#for var="var_name"-->
Something to repeat
<!--#endfor-->
Does loop so many times as there are variables with name var_name.
Requires close tag <!--#endfor-->.
These constructs resemble SSI ones and are wrapped in HTML comments. All other attributes in them, except var, are ignored and can be used as comments.
One of the styles provided is Table of Contents. The output file, generated with this style, is supposed to be in the menu frame, while all its links should point to the frame named "main". To use this file, do the following:
1. Generate file named "menu.html" with both Recursive directory processing and All output go to a single file checked. Style is Table of Contents.
2. Create a new html file named "index.html", using the following code:
<html> <head> <title>Title</title> </head> <frameset cols="30%, *" border="1"> <frame src="menu.html" name="menu" scrolling="auto"/> <frame src="main.html" name="main" scrolling="auto"/> </frameset> </html>
3. Create a file, named "main.html", which would be the main introduction screen of the main frame.
4. Put all 3 files into the directory which was the source for building menu.html file, or if you are putting files to the server, then to the directory which is the copy of source directory.
As intermediary step you may also consider editing file names (links) of the menu.html file.
Now index.html will have 2 frames: left navigation and the main one, where all links from menu will lead.
File types are used in the styles such as Modern and Download. File type mapping works this way:
Based on this description, you can edit the files type2descr.txt and ext2descr.txt from zzdata folder either by modifying records or by adding or deleting records. The format of these files corresponds to generic XML.
If you want to replace original images, simply overwrite them with the same name both in the images folder of the program installation directory and in the web server.
You can reassign image mapping as well. Image mapping works this way:
Based on this description, you can edit the files type2img.txt and ext2img.txt from zzdata folder either by modifying records or by adding or deleting records. These files' format corresponds to generic XML.
Because the program has too many options, it is reasonable that you can save your preferences as a file and reuse them later. To do this use File/Save Settings menu item. To retrieve saved settings use File/Open Settings. To clear your preferences use File/New Settings.
Art HTML Listing could be used without GUI, within command string only. This is useful when you need to run the program on a regular basis, via batch file or to call it from the other program. This feature is disabled in unregistered version of a program.
Command mode usage synopsis is:
full_path_to\zahl20.exe settings_file_path
zahl20.exe is located in the program installation directory. It accepts 1 argument: a project settings file path. Read here how you can make a project file.
Though Art HTML Listing can be run without a GUI, it is not compiled like a console program, it is compiled like Windows GUI program, this is done to save a distribution size. Being called with a command line argument, it doesn't create any Windows. So it is better to say that it is GUIless mode than console mode. It has some side effects, for example, on Windows 2000, the program returns command prompt immediately (asynchronously), while on Windows NT 4.0 behaves as a generic console program. If the program returns command prompt immediately, it doesn't mean that it has stopped its job, it may run in the background until it finishes its job.
Art HTML Listing creates html code compatible with W3C standards and avoids using any proprietary extensions.
Target output format is XHTML, the new generation of HTML standard. All modern browsers should understand XHTML. All information about presentation such as fonts and colors, is moved to the cascading style sheet section at the top of the file.
Browsers tested are: MS IE 5.0, 5.5, Netscape Navigator 4.7 and 6.0 .
Tree expandable / collapsible and Table of contents styles work only in MS IE browser, while they don't use any MS specific extensions. Other browsers ignore JavaScript code there and display result as a static tree.
You can modify existing or create your own output templates to support other standards or extensions.
More about web standards, such as XHTML, HTML and XML can be found at W3C web site.