Htmlpp Documentation

v.4.2a Ref v.4.2c Ref FAQ Known Bugs History

Product History

Version 4.2c published 6 september 1999 (development release)

  • added .perl/.endperl command.
  • added .endmacro command, activated by $(END_MACRO) standard symbol.
  • added $(ESC_HYPHEN) standard symbol to allow escaping trailing hyphens.
  • added -ifexist option to the .include command.
  • added -ifdef option to the .build command.
  • 8-bit characters are now translated in final pass.
  • corrected bug that caused commands in TOC blocks not to be executed.
  • corrected bug that sometimes caused duplicated TOC entries.
  • corrected bug that caused redefinition of user blocks to be appended instead of redefined.
  • corrected bug in .build dir command when directories contain periods.
  • corrected bug: Standard blocks were not reset if more than one source document was processed.
  • the correct language code for Danish is 'DA', not 'DK' as used before.
  • $(DIR) variable can be undefined now (thanks to Oscar Figuereido)

Version 4.2b published 20 November 1998 (development release)

  • now the &date() function formats dates using the language in $(LANG) by default.
  • corrected a fault we added to the &relpath() function.
  • &relpath() function now uses current output page as 'from' if only one argument is supplied.
  • corrected error in user-defined blocks when several documents were processed.
  • symbols in .page commands were not being expanded in the inter and TOC passes. Corrected.
  • added database symbols and connections between documents.
  • added for_open and for_close standard blocks.
  • added $(HITS) standard symbol for use in .for loops.
  • added .expires command and -expired command-line option.

Version 4.2a published 20 October 1998
Thanks to Enrique Bengoechea <[email protected]> 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. $( 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 intrinsic 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 html 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 ([email protected]).

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 Version 1.1 released 6 April 1996.

Version 1.0 written 27 November 1995.

Copyright © 1996-99 iMatix Corporation.
Hosted by Made with Htmlpp. Powered by Xitami.
Updated: October 20, 1999