| iMatix home page | htmlpp home page | << | < | > | >> | htmlpp Version 4.2a

## Other Information

The most recent version of htmlpp is located at http://www.imatix.com/. You can download it from htmlpp.zip.

The Libero documentation is one example of htmlpp in action. Download the archive lrdoc.zip to get hold of a set of text and definition files for htmlpp.

If you want to change htmlpp, get a hold of the Camel Book (Programming Perl), and the Libero documentation.

### Product History

- Version 4.2a published 20 October 1998
  Thanks to Enrique Bengoechea <ebb@eco.uc3m.es> for the many improvements to htmlpp.
  - default input file extension changed from .txt to .htp.
  - added French support in date formatting routines.
  - completed the character entity references for accented characters.
  - added -charset command-line option.
  - corrected a fault we added to the &relpath() function.
  - added support for attributes in links.
  - added support for relative references.
  - added support for multilanguage symbols, e.g. $(home.es) and $(home.en).
  - added .for loop that queries flat-text databases.
- Version 4.1a published 5 August 1998
  - table of contents is now built at very end, before final pass.
  - added &pageref() intrinsic function (thanks to Alan Silver).
  - command-line options can be supplied in shorted form (e.g. -d for -debug).
  - added $(DIR) symbol for specifying the target directory.
  - added &relpath() function (thanks to Enrique Bengoechea).
- Version 4.0g published 24 July 1998
  - added -noquote option for the .macro command.
  - corrected htmlpp to allow nested intrinsice functions.
  - corrected bug in &file_time() function.
- Version 4.0f published 4th June 1998
  - added DIR_HREFL field for .build dir
  - corrected error in &date function (thanks to Enrique Bengoechea).
  - added support for multilanguage &date function (also thanks to EB).
  - added the .pipe command and PIPE_HEADER, PIPE_FOOTER blocks.
  - added -nofunc option (thanks to Alister Bulman).
  - added -nosplit option for the .macro command.
- Version 4.0e published 31 May 1998
  - added a number of date-handling intrinsic functions.
  - .for loops generate a .define command for their loop variable (thanks to Bernard de Rubinat).
  - corrected an error in the -page option.
  - default value for an anchor is now the anchor title.
- Version 4.0d published 9 May 1998
  - $(*name) was failing for simple anchors.
  - .define commands are kept through passes, which makes loops work much better (thanks to Bernard de Rubinat).
  - added &system() intrinsic function (thanks to Keith Dart).
  - no longer does case-conversion in .build dir blocks.
  - removed warning on long filenames.
  - added -page switch for selective page generation.
- Version 4.0c published 18 April 1998
  - Added DIR_SIZEK and DIR_SIZEM directory block variables
  - Finally, you can escape variables in macro text so that they are only expanded in the next pass.
  - LINEMAX now defaults to 0 (no warnings).
  - Worked-around bug in Perl which caused htmlpp to block when macro arguments contained single quote '.
  - &(expr) was not working - fixed by James Thieler.
  - Symbols that refer to anchors now produce anchor title if possible, thanks to Craig Smith.
- Version 4.0b published 24 February 1998
  - Correctly handles comments in macro definitions
  - Allows .page commands to be built by .for loops
  - Underlines in macro arguments are no longer replaced by spaces.
  - Lines ending in '\' are output without trailing newlines
- Version 4.0a published 07 February 1998
  - Searches LIBPATH, then PATH for document files.
  - Macros can now contain { escape sequences (e.g. for JavaScript subroutines)
  - Multiline .echo commands now work.
  - Added various new intrinsic functions.
  - Intrinsic &time() did not work - fixed.
  - Symbol expansion code rewritten to allow any level of embedding.
- Version 3.0 published 16 June 1997.
  V3.9e - .for command changed to handle variable expansion in a smarter manner: for loop variables are expanded, but others are copied through to next pass.
  V3.9d - .block commands are no longer interpreted in the first pass; this lets you change headers and footers within a document. $(*symbol) was wrongly translated sometimes.
  V3.9c - added &image_width() and &image_height() intrinsic functions; added $(TOC_LEVEL) variable.
  V3.9b - reversed changes of version 3.8; macros expand variables immediately. This was needed to correctly generate tables of contents. Also changed %(VAR) behaviour to match documentation - if variable is not defined, no error message is issued.
  V3.9a - added anchor titles, $0, and $#.
  V3.9 - added header level numbering and $+ symbol; added -env option.
  V3.8 - variables in macro text are translated in following pass.
  V3.7 - correctly uses htm variable for output files.
  V3.6 - added guru_opt.fmt file for finer GuruMode control.
  V3.5 - improved GuruMode, again again.
  V3.4 - improved GuruMode, again.
  V3.3 - added $(DOCBASE) variable; improved multiline macros, improved GuruMode.
  V3.2 - no longer complains on forward anchors references. Removed .guru command and reworked GuruMode.
  V3.1 - updated some functions and improved the doc.
  V3.00 - Added macro capabilities; added GuruMode; fixed some incompatibilities with Perl 4; added .for autosplit feature; \. replaced by . in whole line, not just at start; added support for accented characters.
- Version 2.2 published 25 May 1997.
  V2.21 - added intrinsic function syntax, and &date().
  V2.20 - &("...") permits Perl text including '(' and ')'; Delays translation of symbols in .for loops until loop is output.
- Version 2.1 published 8 Mar 1997.
  V2.18 - .include also allows file with path name.
  V2.17 - cosmetic changes.
  V2.16 - search PATH path for .include'd files.
  V2.15 - cosmetic changes.
  V2.14 - ".define xx = expr" now expands variables first.
  V2.13 - .build dir always lists filenames in lowercase.
  V2.11 - variable expansion improved a little.
  V2.12 - cosmetic changes.
  V2.10 - .define command is resolved as late as possible, instead of immediately. .For loops may be indented; $for_list is accessible locally inside each level. Minor documentation cleanups. Fixed error in .if block parsing. Lots of cosmetic changes to eliminate warnings when 'perl -w' used. Corrected misnumbering of HTML headers.
- Version 2.0 published 17 Feb 1997.
  V2.07 - minor code cleanups;
  V2.06 - correction in .page parsing code for $(TITLE); added %(...) for environment variables.
  V2.05 - correction in symbol replacement code.
  V2.04 - more corrections for Perl 5.
  V2.03 - minor corrections for Perl 5.
  V2.02 - added notion of local blocks, -debug switch.
  V2.01 - added &(...) symbol; added .include `command`; blocks can now contain action lines; added index_open, index_close, and index_entry blocks; rewrote dialog to do multipass processing. Whew. Oh yeah: added .for/.endfor as asked for by Dave Rockwell (rockwell@wwwcis4.shr.dec.com).
- Version 1.6 published 14 Jan 1997.
  V1.62 - added .include `command` function.
- Version 1.5 published 4 Nov 1996.
  V1.61 - error in code that added '.txt' extension.
  V1.60 - added autoincrement/decrement symbols, permitted multiple filenames on command line.
  V1.55 - '.ignore page' ignores next .page in index table.
- Version 1.4 published 9 Jun 1996.
  V1.54 - .endblock preferred to .end.
  V1.53 - commands can continue over several lines, spaces allowed after ".".
  V1.52 - added $(symbol?value) and improved doc.
  V1.51 - modified for Perl 5, thanks to Ewen McNeill.
  V1.50 - supports user-defined blocks.
  V1.41 - log errors in separate listing file.
- Version 1.3 published 13 May 1996.
  V1.31 - improved documentation and packaging.
- Version 1.2 escaped around 13 April 1996.
  V1.22 - headers anchors changed to include whole line.
  V1.21 - sorted '.build dir' entries by name.
- Version 1.1 released 6 April 1996.
- Version 1.0 written 3 April, 1996.

| << | < | > | >> | htmlpp - The HTML Preprocessor | Installing Htmlpp | Getting Started | Htmlpp Reference | Frequently Asked Questions | Other Information | Copyright © 1996-97 iMatix