Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Proposed module Html::MakeChm

by Rudif (Hermit)
on Sep 21, 2007 at 22:43 UTC ( [id://640449]=perlquestion: print w/replies, xml ) Need Help??

Rudif has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks

I am thinking of publishing on CPAN a module, Html::MakeChm and its driving script, along these lines :

=head1 NAME HtmlMakeChm - make a chm help file with minimal fuss =head1 SYNOPSIS HtmlMakeChm --projdir=H:\perl\dev\MyModule\Html --projname=MyModuleH +elp HtmlMakeChm --help HtmlMakeChm --man =head1 DESCRIPTION HtmlMakeChm makes a chm help file with minimal fuss - just specify the + project directory and name. It will collect all .html files found in the project directory <projdi +r> and its subdirectories, and compile them into a ready-to-use "<projnam +e>.chm" file. =head1 Requirements You need the Microsoft HTML Help Workshop installed in "C:/Program Fil +es/HTML Help Workshop". Complete installation is not necessary, files "C:/Program Files/HTML H +elp Workshop/hhc.exe" and "C:/Program Files/HTML Help Workshop/itcc.dll" will suffice. =head1 How to use Prepare a collection of html files using any HTML editor or tool (e.g. + pod2html) and place them into the project directory and/or its subdirectories. The subdire +ctories if any will become branches in the Contents tree. Run this script from command line HtmlMakeChm --projdir=H:\perl\dev\MyModule\Html --projname=MyModul +eHelp When done, you will find the resulting file MyModuleHelp.chm in the pr +oject directory. =head2 Options =over 4 =item verbose Prints more info about processing. =item help Prints minimal help. =item man Prints the manual page. =item projdir Specifies the project directory (full path or path relative to current + directory). Place your html files here and in any subdirectories. =item projname Specifies the project name which becomes the name of chm help file. =back =head1 AUTHOR Rudi Farkas =head1 SEE ALSO perl(1). =cut
Would you recommend / not recommend publishing this module ? Would you want to use it ?

If some of you would volunteer for a peer review, please /msg me privately with your email address, and I will send you the distro zip file.


Replies are listed 'Best First'.
Re: Proposed module Html::MakeChm
by mmmmtmmmm (Monk) on Sep 21, 2007 at 23:23 UTC
    .CHM is a compiled HTML format used by Microsoft Help software. It also happens to work out as a very nice, indexed, searchable ebook format.

    Here an excellent site on the CHM format ---> Unofficial HTML Help Specification

    I'd personally find the module very useful. I've been wanting to use something like CHM to publish some things that I am writing, in a format more readable that PDF, but still somewhat portable. I was actually just about to start messing around with libchm myself...

      oh, that explains why I don't know what it is :-D
Re: Proposed module Html::MakeChm
by Joost (Canon) on Sep 21, 2007 at 23:21 UTC
Re: Proposed module Html::MakeChm
by blah (Novice) on Sep 22, 2007 at 03:05 UTC
    shouldn't this go under the App:: namespace? too bad it's windows specific, but there's Text-CHM which seems to be cross-platform.
Re: Proposed module Html::MakeChm
by perlfan (Vicar) on Sep 21, 2007 at 22:58 UTC
    sure, why the hell not? - but what is a .chm file?
Re: Proposed module Html::MakeChm
by Anonymous Monk on Sep 22, 2007 at 08:48 UTC
Re: Proposed module Html::MakeChm
by naikonta (Curate) on Sep 23, 2007 at 14:29 UTC
    Hi Rudif, that's very nice. I use xchm in linux to browse chm documentations or ebooks. My other favorite docs viewer is PodBrowser. I know we only need the compiled .chm files for xchm but I think that it would be nicer to make your module works for linux too. So in your Requirement section, you can add that linux users need libchm.

    Some other notes:

    • I'd like to suggest the name HTML::CHM (remember that CPAN module names are case sensitive.)
      =head1 NAME HTML::CHM - convert HTML files into CHM format
    • It's somewhat conventional to use all uppercase letters for =head1 in the POD

    Good luck!

    Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://640449]
Approved by Joost
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-23 02:23 GMT
Find Nodes?
    Voting Booth?

    No recent polls found