File Format Specification for the UPT's built-in help system

The UPT's built-in help system uses simplified 'tags', inspired by but not compatible with HTML. Despite that, when restricting help pages to the HTML-compatible tags listed further below, a page designed for the UPT's built-in help system can also be loaded into any HTML browser.

1. Not HTML-compatible 'short tags'

  <a=n> Link to help-page n (n=decimal number)</a>
  <a=Name> Link to symbolic target, text label (see '')</a>
  <a=Action> Invoke an action, e.g. Action=InvokeSetup</a>
  <b=n> Background colour n (see list of colours below) </b>
  <e>   emphasized text </e> (here: italic, if the GDI permits)
  <f=n> Foreground colour n  (see list of colours below) </f>
  <n=Name> named text label (doesn't need to be terminated, unlike '<a id="Name"> </a>')

Colours supported by the help browser's <b>- and <f>-tag:
    0=BLACK      1=BLUE           2=GREEN        3=CYAN
    4=RED        5=MAGENTA        6=YELLOW       7=WHITE
    8=DARKGRAY   9=LIGHTBLUE     10=LIGHTGREEN  11=LIGHTCYAN
   12=LIGHTRED  13=LIGHTMAGENTA  14=BROWN       15=LIGHTGRAY

2. Subset of HTML-compatible tags supported by the UPT help system

  <a href="Name">Link to a certain page or text label</a>
  <a id="Name">Definition of a text label for links within a page</a>
  <h1>  top-level headline </h1>
  <h2>  2nd-level headline </h2>
  <h3>  3rd-level headline </h3>
  <u>Underlined Text</u>
  <dl>Definition List ... <dt>Definition Topic  ... </dl>
  <ul>Unnumbered List ... <li>List Item ... </ul>
  <ol>Ordered List    ... <li>List Item ... </ol>

3. Other elements recognized but skipped (ignored) by the UPT help system

  <!doctype html>    : Completely ignored.
  <html> ... </html> : Tags are ignored, but text in between is evaluated.
  <head> ... </head> : Completely ignored, with everything in between.
  <body> ... </body> : Tags are ignored, but text in between is 'rendered'.
  <pre ..> .. </pre> : Tags are ignored, but text in between is 'rendered'.
If your help page shall be displayable in a normal web browser as well as in the UPT's buit-in "Help Browser", place the entire text in a 'preformatted text' section as follows:
<pre style="white-space: pre-wrap;">
  Your text here, 'preformatted', displayed using a fixed-width font,
  with end-of-line markers as in plain text (carriage return 
  plus new line character instead of clumsy trailing '<br>'-tags 
  to break/wrap too long lines to avoid horizontal scrolling).
</pre>
With style="white-space: pre-wrap;", a web browser behaves almost like the UPT's built-in, tiny 'Help Browser'.

Since the UPT's help browser completely ignores (skips) the <head> tag, including anything between <head> and </head>, the only way to indicate the file's character encoding is the UTF-8 BOM (text file begins with three-byte signature 0xEF 0xBB 0xBF). Without this BOM, the help file parser assumes the file is encoded in ANSI (Windows code page 1252), which may cause problems with character codes above 0x7F (German Umlauts, etc).

See also:
  Command system.show_help( filename, options ) to open a help page via script,
  Introduction to the UPT's built-in help system,
  Example for a self-defined 'Index' page for the built-in help system (link only works 'off-line').