"HDocGen"
HTML Documentation System
Shipping Now!
Requires Microsoft Access 97 or Later
Overview
HDocGen is a system primarily intended for creating and maintaining extensive, professional-level HTML document systems. The document systems are managed using a Meta Language that allows you to control your documents much more precisely than HTML does, yet still provides you with all the benefits of pure HTML. It is also very useful to create and generate extensive networks of web site pages with complex interlinking. Numerous websites have already been completely switched over to HDocGen from other HTML page handling tools. Two of ours that are generated automatically by HDocGen are this one (www.blackbeltsystems.com) and the Our Timelines site.
Advanced documentation concepts such as indexes, multilevel table of contents, subordinate systems of pages and conditional document generation are all standard. The system can directly support documents with hundreds of thousands of pages while maintaining sub-page accuracy for hyperlinks across the entire document.
Conditional page generation allows page styles to flexibly change according to what page they are being used on, so you can do things like change graphics, or any other content, based up the page. The software can maintain any number of different document systems at once, and styles can be sensitive to which document system they are being applied in as well, so (for instance) you can use one font in one system, and a different font in another, yet they may both use the same page style.
Outstanding GIF and JPEG image and animation handling, block repetition, conditionals, style abstraction, page numbering and linking, variables and recursive processing give HDocGen a power to control HTML document systems that is unmatched in any other product.
This power comes at a price, however. HDocGen is not intended for the novice or consumer-level documentation author. To most effectively use HDocGen, the documentation author must have a solid knowledge of HTML. HDocGen is a highly technical product intended for technical users who desire the utmost in flexibility and power and the most efficient implementation of that flexibility and power. HDocGen is also designed for very large jobs - jobs that are impractical to hand author, and jobs that need the benefits of a professionally produced and managed online manual or web site.
The key benefits of HDocGen are:
- Significantly reduces maintenance effort for documentation
- Significantly reduces complexity of writing HTML, which...
- Significantly reduces the document error rate!
- Provides instant global change capability for any arbitrary document element or elements
- Retains 100% control over exact HTML representation, unlike "WYSIWYG" systems
- Very efficient development cycle; you can go from in-house code to end user results in seconds.
HDocGen is built around three concepts; the manual, the page and the style. Manuals contain one or more pages. Pages contain text, and that text is interspersed with styles when this is useful. Each page in the system is "tagged" with a user identifier that designates the manual or page system that the page belongs to. Styles are universal - any style can be used in any page system or manual. Styles can also be used within one another (see the simple example, below, for a clear example of nesting styles)
Partial Feature List
- Automated next/previous page linking
- Built-in page numbering you can use any way you like. Compatible with printable designs
- Default page styles, overidable - allows consistent look across entire page system
- Force parent, previous, next page link override
- Eight level, style-controlled, table of contents (TOC) generation
- Global auto-variables such as version and revision available document-wide
- Global control of default link, active link and visited link colors
- Global control of additional BODY tags
- Handles multiple manuals at one time
- Huge document support: hundreds of thousands of pages and styles
- Block repeat [rp #|REGISTER] statements using counts, or counts stored in registers
- [if FLAGNAME] and [ifn FLAGNAME] (IfNot) conditional document section generation
- [ifl LABLE] and [ifnl LABLE] (IfNot) conditional document section generation
- [ifm MANUAL] and [ifnm MANUAL] (IfNot) conditional document section generation
- Index and TOC entries automatically link to correct location on page
- Local and global flags which are used with IF and IFN conditional operators
- Local and global text variables (may contain styles) can be used anywhere
- Memory demand limited to one page at a time; interactive compiler oriented design
- Page ordering by non-document index number, fully automatic renumbering
- Pages may be disabled on an individual, as-needed basis
- Single page (test) generation or full document regenerate
- Small, easily learn but immensely powerful command set has you authoring in minutes
- Sorted in-line index generation: [i IndexedPhrase]
- Sub page group support (to any level) for isolated sub-rings of pages
- Support for JPEG and GIF in-line images & animations: [p ImagePathAndName]
- Unlimited complex parameter-based recursive styles [s StyleName StyleBody]
- Using styles, entire document system appearance can be changed in seconds
Examples
To understand these examples, you need to know that [b] means, "Place the StyleBody here", and that this is the format required to use any style:
[s StyleName StyleBody]
You also need a solid understanding of HTML.
Three very simple examples of using Styles
Please be aware that the first few examples are not designed to demonstrate the efficiency of the system; rather, they are intended to clearly show how styles work. Once you've worked through them, the last example will clearly demonstrate the awesome power of the system to you!
Simple Example Style Definition One
Style for italics, named "i"
Using the "i" Style:
Invoking style for italics, named "i"
(what you actually write)
Resulting HTML
(what you would have had to write)
Resulting Formatting
Simple Example Style Definition Two
Style for quoting, named "q"
Using the "q" Style:
Invoking style for quoting, named "q"
(what you actually write)
Resulting HTML
(what you would have had to write)
|
"this is a test"
|
Resulting Formatting
Using the "q" Style with the "i" style nested inside:
Invoking the nested styles
(what you actually write)
|
[s q this [s i is] a test]
|
Resulting HTML
(what you would have had to write)
|
"this <i>is</i> a test"
|
Resulting Formatting
More Complex Example
Style for a note, named "note"
<p>
<center>
<table width="75%" border bgcolor="#ddffff">
<tr>
<td>
<table width="100%">
<tr>
<td width=64 valign=top align=center>
<b><font size="+2">N</font>ote:</b>
<p>
<center>
[p pics/note.gif alt="Keep this in mind..."]
</center>
</td>
<td valign=top>[b]</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<p>
|
Using the "note" Style:
Invoking style for a note, named "note"
(what you actually write)
|
[s note Information in this block is a [s i note]. It is intended to make you aware of an issue that significantly affects the use or understanding of a feature or situation.]
|
Resulting HTML
(what you would have had to write!)
<p>
<center>
<table width="75%" border bgcolor="#ddffff">
<tr>
<td>
<table width="100%">
<tr>
<td width=64 valign=top align=center>
<b><font size="+2">N</font>ote:</b>
<p>
<center>
<img width=32 height=32 alt="Keep this in mind..." src="pics/note.gif">
</center>
</td>
<td valign=top>Information in this block is a <i>note</i>. It is intended to make you aware of an issue that significantly affects the use or understanding of a feature or situation.</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<p>
|
Resulting Formatting
|
Note:
|
Information in this block is a note. It is intended to make you aware of an issue that significantly affects the use or understanding of a feature or situation. |
|
|
|