All of the above. You see I normally create CHM help files (a little outmoded nowadays)
CHM is still a lot better than the latest offerings from Microsoft.
...but I'm now looking at HTML as an alternative. That's why what you did interests me.
I find HTML help the worst kind. You normally have to launch a web browser to view it - web browsers are slow to start up and very memory hungry. HTML doesn't have built-in search, Index, Table of Content, user annotation support, and takes up a massive amount of hard drive space (compared to INF and even CHM).
Either way, you are not very specific with what type of help you want to generate... Application help or Class documentation, so I'll cover both.
Object Pascal Class documentation can be generate using the Free Pascal supplied tool called
fpdoc. Download the fpdoc manual to find out more and how it works.
ftp://ftp.freepascal.org/pub/fpc/docs-pdf/fpdoc.pdfThe actual documentation is written in XML files. The
fpdoc program then pairs up the XML file with the related *.pas files and then generates the documentation output.
Instead of passing a massive amount of command line parameters to fpdoc, I use a fpdoc project file instead. This is much easier to maintain, and I can easily switch between output formats (INF, CHM, HTML, TXT etc). See the following link to fpGUI's fpdoc project file to give you a working example.
https://github.com/graemeg/fpGUI/blob/develop/docs/fpgui-docs-project.xmlApplication Help is what end-users see when they run your application and they press F1 or click the Help button inside the application. To create such CHM help most people use commercial software that helps them write the documentation.
I use INF help files instead. My application help is normally in a single INF file which is very small and compact. INF help files are viewable with DocView. You start by writing marked-up plain text IPF files, which you then compile to highly optimised INF help files using the WIPFC compiler - a stand alone console tool included in the fpGUI code repository ("tools" directory).
DocView is better than any CHM viewer I have come across. It is much faster at starting up and loading INF files (near instant). You can load multiple INF files at the same time too (runtime concatenation of INF files), supports in-line annotations (user comments embedded in the help content), advanced searching with a rating system, runtime building of a Index, font and colour customization etc. DocView is also fully cross-platform, tested under Windows (win2k-win10), Linux, FreeBSD, Solaris and OSX.
Authoring INF help for your own applications (not class documentation):I use the text editor called EditPad Pro. It has brilliant code template support, live file navigation and customisable syntax highlighter. A IPF syntax highlighter and navigation scheme is freely available on the EditPad Pro website. But any text editor (even Lazarus IDE) can be used to author INF help. The IPF syntax is easy and the tags are mnemonic based, so very easy to learn an associated with their function - it is also much less verbose than HTML or XML.
INF was originally developed by IBM, but is still an excellent (and relevant) choice today. Especially with the much more feature complete DocView INF viewer (compared to IBM's original VIEW application).
Even though Docview was initially written for fpGUI based projects, it works equally well as an eBook type application or integration with LCL based applications. Here is a link to a forum attachment of a fully working LCL application with DocView+INF incorporated. For the full discussion, see the Lazarus Forum post.
http://forum.lazarus.freepascal.org/index.php/topic,27864.msg173887.html#msg173887Docview screenshots: http://fpgui.sourceforge.net/screenshots_apps.shtmlDocview pre-compiled binaries: http://sourceforge.net/projects/fpgui/files/fpGUI/1.4/INF help files for RTL, FCL, LCL and fpGUI
Pre-built INF files are available for download from the above SourceForge link too. They are also a fraction of the size of HTML or even CHM - yet contain the exact same help content.