Preprocessing of a page is required if it is requested the first time or if itself or one of its include files has been updated. heitml automatically detects this situation by inspecting the files time stamps. When a page must be preprocessed, heitml does this automatically and asks the browser to request the page once again. In most cases, this happens completely automatically. In some browsers and in the case of post requests, you see a messages that asks you to press the reload button. On fast connections, you will however notice that page loading is much faster when a page is requested the second time.
Preprocessed pages are stored in heitml code files using the .hic
extension. .hic files are either stored in the normal page directories or in
a directory specified in the
codepath directive. Usually it is no
problem to delete code files, since heitml will regenerate
heitml Code Library
The code library is a feature that is useful to reduce the size
of the heitml code files. After installation, heitml
is set up to use a single code library and we very much recommend
to keep this setting as long as you are sure what you are doing.
If you are changing the files in heitml2.1/lib you might
want to switch off the code library completely (see the
Normally code for all include files is generated and included into the code
file of a heitml page. This can cause the code files to become rather
big. If this is a problem, it is useful to specify a code library. A code
library (such as /heitml2.1/lib/lib.hei) consists of a collection of include
files. It must be declared to heitml using the
lib directive. The
code library will then contain the code for all the specified include
files. This code will no longer be included in the code files of the pages
themselves but only once in the code library.
|Note: Note that a code library can not contain two different definitions for the same heitml tag. Even if these definitions are contained in different include files, heitml will always use the last definition occurring in the code library.|
Preprocessing of the library is done automatically. However, for speed reasons, heitml does not check the file date of every include file in the library on each request. heitml detects a changed include file only if (1) a page is preprocessed, (2) the library itself is preprocessed. So after changing an include file contained in a code library, point your browser to the URL of the library (e.g. /heitml2.1/lib/lib.hei) to remake the library. Alternatively, you might want to switch off the library during development of include files.
Preprocessing of Dynamic Include Files
Dynamic include files are a special feature of the heitml language, used in some uncommon situations. In contrast to normal include files, dynamic include files must be preprocessed and heitml can not do this automatically. heitml will however detect when preprocessing is required and show an appropriate error message. With the error message, heitml presents a link to preprocess the file.
In order to preprocess a dynamic include file, point your browser to
the page that includes the file, and add
where includefilename.hei is the name of the include file.
Note that you can include the file into multiple pages and you need to
preprocess it with just one page file.