htmlhelp compiler

From Free Pascal wiki
Revision as of 13:37, 15 July 2010 by Marcov (talk | contribs) (Initial page for chmcmd)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The htmlhelp compiler chmcmd is a htmlhelp1 (CHM) helpfile compiler.

The helpfile compiler's mainprogram only performs commandline handling, all other functionality (including .hhp loading functionality and html scanning) is done by the chm package.

Two formats are supported, the familiar .hhp helpprojects, and a superset that stores all information (including context data) in one .XML.

History

While the primary target of the chm package is the documentation tool fpdoc, a small commandline utility chmcmd was added for testing purposes. This utility simply created a CHMProject, would load the .xml, and called the "writechm" method. The XML format had to list all files. (including .css and image files)

In 2010, basic .hhp support was added, and the project was expanded to scan input files for extra files.

Missing features

See chm

Performance

The performance probably won't be great. Mostly because the program is written in a portable manner.

The chm package has some support for doing the compression multicore, but this has not been enabled by default for two reasons: - on Linux/FreeBSD this pulls in libpthread and libc which makes the binary distribution dependant (On FreeBSD and Linux, basic FPC binaries are fully static and use syscalls) - the savings are not that great (think 25% faster on a dual core)

A Win32 binary is currently about 420k (uncompressed, but stripped).

Download

The html compiler is not currently available as a separate download, but is included in most FPC releases and snapshots. Note that to have .hhp support, the FPC version needs to be 2.4.4 or higher.