The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

DESCRIPTION

Structure of %chm-config:

    -output         a.chm
    -tocfile        toc.hhc
    -idxfile        index.hhk
    -default        ?
    -title          cmt::chm example
    -lang           0x0804 Chinese
    -files          [ files, ... ]
    -roots          [ file, title, attrs, node, node, ... ]
    -index          { keyword => file }
    -basedir        where write .hhc and .hhk to
    -preview        no make and clean

htmlinfo

Parse HTML document and retrieve some important information.

The return value is a HASH-ref of:

    .title          TITLE
    .a              [ anchors... ]
    meta-name       meta-value

See Also: Sitemap formats: http://www.nongnu.org/chmspec/latest/Sitemap.html Icon strip: http://west-wind.com/WebLog/posts/1520.aspx

htabindent(NODE)

Indent children of NODE by htab attribute.

When parsing HTML documents, the biggest H* tag appeared in the document is considerred to be the document's "Head-Level" attribute. So if a document contains <H2>, then its Head-Level is 2.

Generally, if a document has Head-Level defined, a htab(Head-Indent) attribute will be set to (Head-Level - 1). The number of htab is used to determine the belongs-to relation between two sibling nodes. Because the htab of H1 documents is 0, so H1 documents and non-Head documents are siblings, but H2 documents will be the children of H1 and non-Head documents.

NOTICE: call htabindent before prefix_compact, because prefix_compact changes the sibling-relations of the children of NODE, and new compaction nodes which don't have htab attributes might be introduced.

NOTICE: after called htabindent, the htab attributes of all descendants of NODE would be cleared.

prefix_compact(NODE, PREFIX-PATTERN, MIN-PREFIX-REPEAT)