HelpSetMaker began its life after some disappointing experiences with another tool for JavaHelp HelpSet production. The development stages evolved somehow like this:
In the beginning, the LexicalScanner class with the scanner for the STML language was written. It creates the internal token stream.
After that, the STMLParser emerged from the dust to make an entity tree out of the token stream. The first parts of this system cared especially about the list evaluation.
Next step was the STMLEditor widget. It gave for the first time the possibility to enter some text which was then presented as HTML text in the output window. For this, the lexer and the scanner were used internally.
Finally, the ProjectFrame class and the ProjectEngine were created. Together with them, the tree view of the documents contained in a help set was created.
This creation way lead very early to the current rather independent editor widget which loads and especially stores the documents on its own. This whole structure is also in the spirit of a complete uncoupling of the document tree and the actual documents: HelpSetMaker does never load all the documents into memory. It only holds the document tree and the information in its nodes in memory. The actual documents (which can lead to rather large document structures) are only loaded one by one.
Version 0.2: First actually useable version. Contained only today's ProjectFrame. Project base directory was given through command line. Was already used for first production usage. Could not yet produce output.
Version 0.4: First version with real program frame. Knew also how to produce HTML4- and HelpSet-output.
Version 0.6: Many improvements. Most importantly: typewriter text and CSS support.
Version 0.6.1: Additional extensions and bugfixes, among them much enhanced state storage of editor layout and internal states. Addition of :h3 and :h4 tags.
Version 0.6.2: First public release on SourceForge. No big changes against 0.6.1
Version 0.6.3: New output mode: One big HTML page. Bugfix: Anchors actually work now...
Version 0.7.0: Several changes:
Complete rewrite of image handling code. Presents now image icons and supports drag'n'drop of images.
Parser changes to drop direct HTML tags in STML input. A transition help is provided.
Image size is now put into the IMG tag
"Batch mode" to create output via command line
Version 0.8.0: LaTeX output. Introduction of project settings
Version 0.8.1 (unreleased): Undo/redo support in the editor, much better document tree navigation, LaTeX creation cleaned up and modernized regarding package usage
Version 0.9.0: Integration of fulltext-search into HelpSet output, enhanced file tree output, even more documentation.
Version 0.9.1: Minor enhancements: external links with [[ ]], menu hotkeys. Some documentation extensions and corrections.
Version 0.9.2: Several enhancements:
Direct creation of JAR file containing the HelpSet.
Consistent encoding of the output, HelpSetMaker is not assuming ISO-8859-1 to be the default encoding on the platform any more (thanks to Torstein Olsen).
Norwegian translation (thanks to Torstein Olsen).
Version 0.9.3: Some enhancements which cumulated over some months:
Relative storage of image paths if within the project. This eases co-working on a document through some kind of source code management tremendously.
More general HTML output of anchors ("<a ...></a>" instead of "<a ... />").
CSS can be applied for content frame now, also.
Version 0.9.4: Most important change is the vastly enhanced support for collaborative work on a project through some external means of version management. Additionally, the thumbnail management has been improved:
The main configuration and settings file for a project has been changed completely. It is now XML-based. Any old projects are converted automatically the first time they are opened with the new HelpSetMaker version. If the conversion fails, the project is left untouched.
New sections of the document are not numbered any more, but named randomly. This removes the problem that two co-workers could create section files with the same name unintentionally.
Thumbnails are stored only now if needed. If they are stored, JPEG format is used and they are stored for each needed size seperately.
Rescaled thumbnails are much smoother now.
In pagewise printed document types (HTML, HelpSet), HelpSetMaker can now add navigation links to each page for going to the next or previous page.
For LaTeX and HTML output, typographical quotation marks can be used.
Version 0.9.5: Bugfixes in conversion code.
Version 0.9.6:
Project-global integrity checks for image references and project-internal hyperlinks.
Image library rebuilding and thumbnail size changing gives more feedback during operation.
Minor changes to XML file format to cope better with version management needs.