GTML an HTML pre-processor
June 19th, 2016

For a few years, I have been using GTML an HTML pre-processor to maintain a consistent look for my small sites. If you are interested in using this tool be sure to avoid versions earlier than 3.5.4 otherwise nested Boolean conditions will not work correctly. Unfortunately, version 3.5.3 is easily encountered on the Web. The link above points to what appears to be the most recent version.

Since GTML is a Perl script, an interpreter must be installed. In Windows, I use Strawberry Perl. However, with that combination, the following warning appears

defined(@array) is deprecated at gtml line 1613. (Maybe you should just omit the defined()?)

Not quite knowing what I was doing, I followed the advice and changed line 1613 of gtml from

if ( defined(@fileToProcess) && ! (&Member($name, @fileToProcess)) )
if ( @fileToProcess && ! (&Member($name, @fileToProcess)) )
and now the warning is gone and everything seems fine.

After switching to Linux earlier this month, I found that Perl is bundled in Ubuntu 14.04 and that GTML is available from the repository. The latter can be installed using apt-get or Synaptic. The integration of the script is well done, including a man page and a simplified invocation:

michel@hp:~$ gtml name_of_project_file
Furthermore, the problem mentioned above has been solved. All very nice.