
                   !MakeTable V0.08
                   ~~~~~~~~~~~~~~~~~

  INDEX

  1 - Overview
  2 - Use 
  3 - Dialog box
  4 - '<' & '>' conversion
  5 - Future enhancements
  6 - License conditions
  7 - Disclaimer
  8 - Bug reports/contacting me

      History


1. Overview
~~~~~~~~~~~

!MakeTable is a desktop tool to simplify the generation of HTML tables.

It will read CSV files, and text files with a wide range of separators,
including tab (TSV), comma, and semi-colon.

The HTML output can be controlled in a number of ways, with the ability
to set tags on a table-wide basis or on each row in the table.

Currently, it cannot handle COLSPAN and ROWSPAN parameters, but that
will come when I work out an easy way for the user to specify them.

As of version 0.08, it will also read HTML files and convert tables into
CSV or TSV files.

2. Use
~~~~~~

!MakeTable is started in the normal way, simply by double-clicking the
application icon. It does not have any associated filetypes.

To a read a text file (&fff) or CSV file (&dfe) or HTML file (&faf),
simply drag it to the iconbar icon.

CSV files always use a comma as the cell separator; by default, text
files use a tab separator, but this can be modified with the "Separator"
item on the iconbar menu.

If the first character in any cell is a double quote ("), the cell contents
will be treated as a string terminated by another double quote. This is
required if the table cell includes the separator character (for example,
if a cell in a CSV file contains a comma, the entire contents much be
expressed as a quoted string). If you wish to include a double-quote
character in the string, use the BASIC approach of a pair of double-quote
characters (""). If the cell contents are a quoted string, and text between
the closing quote and the next separator will be ignored.

When a file has been loaded, a dialog box with a number of controls is
opened, allowing specification of certain HTML tags and other control
parameters.


3. HTML Dialog box
~~~~~~~~~~~~~~~~~~

The HTML dialog box will have the leaf name of the source text or CSV file
in the window title bar, together with the number of rows and columns read
from the source file.

The dialog box is split into 5 areas.

   i) Table tags. This area has controls that allow the align and border
      parameters to be set.
      
  ii) Row tags. This area has controls to set the align and valign params
      to be set. The same tags are set on each row.
      
 iii) Miscellaneous. This area provides fine control as to the HTML that
      is generated:
      
      a) "Upper case tags" will generate the HTML tags in upper case rather
         than lower (eg <TABLE> rather than <table>). This is purely a
         stylistic matter, and has no effect on the final rendering of the
         table by any browser.
         
      b) "First row is header" will generate <th> tags rather than <td>
         tags for the entire first row. This has the effect of emboldening
         the text in those cells.
      
      c) "First col is header" - As above, but the first cell in each row
         will use <th>.
      
      d) "Complete page" will case an entire HTML page (including !DOCTYPE,
         HTML, HEAD and BODY tags) rather than just the table.
         
      e) "Convert '"'" will convert any double-quote characters (") to the
         more correct &quot; form. This is a smart conversion - if you have
         HTML in the text that uses quotes in a tag, they will not be touched
         (eg <img src="tharg.gif"> will remain as is).
         
      f) "Convert '&'" will convert any ampersand characters (&) to the more
         correct &amp; form. This is an intelligent conversion, and will not
         convert the '&' if it is already part of a special character entity.
         (ie if the source file uses '&nbsp;' this will be recognised and left
         untouched - only "orphan" & characters will be converted). To the
         best of my knowledge, !MakeTable will recognise all legal special
         characters.
         
      g) "Convert '<' & '>'" - As above, but '<' and '>' characters are
         converted to &lt; and &gt; respectively. This is a smart conversion -
         if MakeTable recognises the text immediately following the '<' as a
         tag (eg <br>) the characters will not be translated.
         
  iv) Generate. This is essentially a "SaveAs" box used to save the completed
      table to a Filer window. A radio box is provided to control whether
      the output is saved as a text file or an HTML file.
      
   v) Special buttons:
   
      a) 'Preview' will start a browser (if one has been seen by the filer)
         and use it to provide a preview of the generated table. This will
         allow the various controls to be refined.
         
      b) 'ReRead' will read the source file again. This allows changes as a
         result of editing the source file to be recognised.

When the dialog box is open, the current table can be discarded and a new file
read simply by dragging a text or CSV file to the dialog box or iconbar icon.


4. '<' & '>' Conversion
~~~~~~~~~~~~~~~~~~~~~~~

Para 3.iii.g above states that MakeTable performs a smart conversion, and will
not convert recognised tags. There are some limits to this - not all tags are
recognised. It does NOT recognise tags that would be illegal in a table cell,
such as <BODY>, <HTML>, <!DOCTYPE>, <FRAMESET> or <FRAME>, nor does it recognise
comment tags ( <!-- This is a comment --> ). As far as I am aware, it recognises
all the other standard HTML tags, including <APPLET>, <EMBED> etc.


5. HTML -> text conversion
~~~~~~~~~~~~~~~~~~~~~~~~~~

When a html file is dragged to the iconbar icon a simple RiscOS SaveAs window
will open. This window will allow the user to specify whether the file should be
saved as TSV or CSV.


6. Future Enhancements
~~~~~~~~~~~~~~~~~~~~~~

Currently on the wishlist are:

  1) COLSPAN and ROWSPAN handling.
  

7. License Conditions
~~~~~~~~~~~~~~~~~~~~~

!MakeTable is freeware, NOT Public Domain. Copies may be passed on to other
people as long as the following conditions are met:

  1) Copies may be passed between private individuals as long as
     this is done free of charge.

  2) It may be distributed by public domain libraries, as long as
     no charge is made other than for the media.

  3) It may be distributed by remote databases such as FTP sites
     or mail servers on InterNet or bulletin boards, as long as no
     charge is made for downloading it (other than the cost of the
     phone call).

  4) The copyright remains with me at all times.

  5) It is distributed in its entirety, including these conditions.


8. Disclaimer
~~~~~~~~~~~~~

!MakeTable is distributed "as is", and used at your own risk. I accept no
responsibility for damage to your computer or your data.


9. Further information & bug reports
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you have any problems with !MakeTable, please contact me at the email
address given below, and I'll try to fix them.

Nick Roberts
tigger@argonet.co.uk

=====================================================================

History:

 Version       Description

  0.01A        Technology demonstrator.
               Basic set of dialog box controls (tags, and some misc)
               implemented.
  0.02A        Preview function.
  0.03A        Special character conversion, with limited set of entities
               recognised for intelligent '&' handling.
  0.04A        ReRead, complete set of special characters.
  0.05        Fixed glyph handling.
               First release for comment.
  0.06        Added intelligent '<' & '>' handling.
  0.07        No functional changes, but various types/mis-spellings, etc
               corrected (with thanks to John Williams).
  0.08        HTML->TSV/CSV conversion added.
