@hyperguide HTDS.hguide
@$VER: HTDS.hguide 40.12 (26.01.98)
@macro m_prg "@{b}HyperText-DataType-System@{ub}"
@macro m_welcome "@{subtitlefont}Welcome to the @{m_prg} (@{m_htds}) for AmigaOS 3.x and above.@{deffont}@{line}@{line}"
@include htds.hgm

@node main "HyperText-Dataype-System (HTDS) Documentation"
@next hypertext_dtc.hguide/main

@{jcenter}@{m_title}@{m_copyright}@{m_welcome}@{jleft}

@{settabs 30}
@{m_sec Menu}
@{m_menuitem}@{" Whats new ? "       link News}

@{m_menuitem}@{" Copyright "         link Copyright            }@{tab}Legal stuff
@{m_menuitem}@{" Author "            link SR.hguide/main       }@{tab}About the Author
@{m_menuitem}@{" Registration "      link Registration         }@{tab}It's Shareware !!!
@{m_menuitem}@{" Internet "          link Internet             }@{tab}Where to get updates and actual information

@{m_menuitem}@{" Introduction "      link Introduction         }@{tab}What is @{m_htds} ?
@{m_menuitem}@{" Features "          link Features             }@{tab}Overview of features
@{m_menuitem}@{" Configuration "     link Configuration        }@{tab}Adapt to your needs
@{m_menuitem}@{" Base Datatype "     link hypertext_dtc.hguide/main}@{tab}The HyperText Datatype
@{m_menuitem}@{" Sub Datatypes "     link SubDataTypes         }@{tab}Available Sub Datatypes
@{m_menuitem}@{" Embedding of Objects " link EmbeddingObjects  }@{tab}How objects (pics) are embedded
@{m_menuitem}@{" Export function "   link Exports              }@{tab}Generate various formats like HTML,HyperGuide
@{m_menuitem}@{" ARexx scripts "     link ARexxScripts         }@{tab}Control the hypertext objects
@{m_menuitem}@{" Datatypes Library"  link DataTypesLibrary     }@{tab}Some workarounds
@{m_menuitem}@{" Locale support "    link Locale               }@{tab}From Amiga Translation Organization
@{m_menuitem}@{" Known Bugs "        link KnownBugs            }@{tab}There are some :(
@{m_menuitem}@{" FAQ "               link FAQ.hguide/main      }@{tab}Frequently Asked Questions
@{m_menuitem}@{" Software Developer Kit " link SDK             }@{tab}How to program @{m_htds}
@{m_menuitem}@{" Thanks "            link Thanks               }@{tab}I like to ...
@{m_menuitem}@{" Third Party stuff " link ThirdParty           }@{tab}Things I used

@{m_menuitem}@{" ToDo List "         link ToDo                 }@{tab}What should be done ...
@{m_endsec}
@{cleartabs}

@endnode
@node News "HTDS/Whats new ?"

@{m_sec "Whats new ?"}
@{itemize}
@{item}From version 40.24 of the hypertext.datatype there exists an even better
@{"node indexing" link hypertext_dtc.hguide/NodeIndexing} scheme.

@{item}@{m_high "Online Help works now!"} From version 40.20 of the hypertext.datatype
the online help using the amigaguide.library works now. So you can replace the original
amigaguide.datatype with the hyperguide.datatype without any problems. Also its possible
to use other hypertext formats for online help e.g. HTML!

@{item}@{m_high "New distribution scheme:"} Now each HTDS datatype comes in its own
archive.

@{item}@{m_high "No HTDS versioning anymore:"} There will be no longer a version of the complete
HTDS package.

@{item}fixed bug which cause crashes of HTDS, if prop3d was installed. The
problem was the DTM_FRAMEBOX method of the hypertext.datatype.
@{enditemize}
@{m_endsec}
@endnode
@node Copyright "HTDS/Copyright"

@{m_sec Copyright}
The @{m_prg}, and all files included in this distribution are, unless
otherwise noted,
@{line}   @{m_high "Copyright © 1995-1998 by Stefan Ruppert. All Rights Reserved."}
@{m_endsec}

@{m_sec Disclaimer}
No guarantee of any kind is given that the programs described in this document
are 100% reliable. You are using this material at your own risk. The author takes
no responsibility for any damage which is caused by using these programs/datatypes.
@{m_endsec}

@{m_sec License}
This license does not apply to parts of the distribution not covered by the
@{m_prg} copyright. For the license of these parts, refer to the respective
documentation. See @{" Third Party stuff " link ThirdParty}.
This license is for non commercial usage only. A commercial license, including
a product license, have to be arranged with me.


@{fg highlight}The unregistered version of @{m_htds} can be used without
any time limit. But all new features, like converting of HyperText documents from and
to various formats are in future only available for registered users. See
@{"Limitations" link Registration#Limitations} section for the current disabled
features of the unregistered version.@{fg text}
@{m_endsec}

@{m_sec "Product License"}
A product license allows the usage of the @{m_htds} for one product for any user.
This is intended for developers and companies, who wants to use the @{m_htds} for
their documentation and online help. So you can get a license for your product
from me, which gives any user the permission to use the full @{m_htds} for this
product.
@{m_endsec}

@{m_sec Distribution}
Permission is hereby granted to distribute the program's archive containing
the executable's and documentation for non-commercial purposes as long as the
archive and its contents are not modified in any way.@{line}

It is strictly forbidden to include this archive in any kind of software collection
except the Fish Amiga-Library, AmiNet-FileServer, Meating-Pearls CD's or BBS
fileareas or by a explict permission from the @{"author" link SR.hguide/main} !
@{m_endsec}

@{m_sec "See Also"}
@{" Contact " link SR.hguide/Addresses}, @{" Registration " Link Registration},
@{" Limitations " link Registration#Limitations}
@{m_endsec}

@endnode
@node Registration "HTDS/Registration"

@{m_sec Shareware}
The @{m_prg} is not for free. In the last two years I worked
in the datatypes area and I released a couple of datatypes freely.
With this experience in programming datatypes, I started in march
of 1995 a replacement for the text.datatype. Now after some interrupts
it's a hypertext.datatype with many until yet not known @{"features" link Features}.
Because I wanted to make a new documentation standard on the Amiga,
I asked Amiga Technologies, if they are interested in such a
hypertext.datatype base class. But they didn't want it! So it's up to
you to make a new standard.
@{m_endsec}

@{m_sec License}
This license does not apply to parts of the distribution not covered by the
@{m_prg} copyright. For the license of these parts, refer to the respective
documentation. See @{" Third Party stuff " link ThirdParty}.
This license is for non commercial usage only. A commercial license, including
a product license, have to be arranged with me.

@{fg highlight}The unregistered version of @{m_htds} can be used without
any time limit. But all new features, like converting of HyperText documents from and
to various formats are in future only available for registered users. See Limitations
section for the current disabled features of the unregistered version.@{fg text}
@{m_endsec}

@{m_sec "Product License"}
A product license allows the usage of the @{m_htds} for one product for any user.
This is intended for developers and companies, who wants to use the @{m_htds} for
their documentation and online help. So you can get a license for your product
from me, which gives any user the permission to use the full @{m_htds} for this
product.
@{m_endsec}

@{m_sec Fee}
Please support it by paying the ShareWare fee in Deutsche Mark (DM), US Dollar
(USD) or equivalent in other currency (DM and USD are prefered).
See the table below for group registering. But contact me before ordering a
group registration. There are some things to discuss before.@{line}
@{b}Note: There will be never a update or upgrade fee, so paying once, you
get the license for the whole life !@{ub}@{line}

@{m_sub "ShareWare Fee List"}
@{settabs 20 40 60}@{code}
@{b}Copies@{tab}Price for each@{ub}@{separator}
1  @{tab}@{m_high "40 DM"}@{tab}@{m_high "30 USD"}
2-5@{tab}@{m_high "30 DM"}@{tab}@{m_high "20 USD"}
6-9@{tab}@{m_high "25 DM"}@{tab}@{m_high "16 USD"}
10 or more@{tab}@{m_high "20 DM"}@{tab}@{m_high "12 USD"}
@{cleartabs}@{body}

If you are also a Shareware author send me a mail. Perhaps I like
your program and so we can exchange our programs.
@{m_endsec}

@{m_sec "How to pay"}
You can use the following bank account to transfer the money :

@{code}@{fg highlight}
Account owner: Stefan Ruppert
Bank name    : Nassauische Sparkasse Flörsheim, Germany
Bank code    : 510 500 15
Bank account : 208 011 537
@{body}@{fg text}@{line}

Or send me the fee to :@{line}

@{fg highlight}@{m_address}@{fg text}@{line}

Don't forget the keyword "@{m_prg}" and your EMail (prefered) or postal
address, so that I can send you your keyfile !
Please send me your pgp key, so you get the keyfile quickest.
@{m_endsec}

@{label Limitations}@{m_sec Limitations}
The following functions are only available in the registered version :
@{itemize}
@{item}the number of opened html documents at one time is restricted to five in the unregistered version
@{item}search @{"requester" link hypertext_dtc.hguide/UserIFace_SearchRequester} and @{"ARexx command" link hypertext_dtc.hguide/ARexxIFace_SEARCH}
@{item}@{"RX" link hypertext_dtc.hguide/ARexxIFace_RX} ARexx command
@{item}@{"EXPORT" link hypertext_dtc.hguide/ARexxIFace_EXPORT} ARexx command
@{item}configuration of the @{"navigator buttons" link hypertext_dtc.hguide/UserIFace_Navigator}
@{item}mark lines
@{item}clear selected area
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" Copyright " link Copyright}, @{" Contact " link SR.hguide/main}
@{m_endsec}
@endnode
@node Internet "HTDS/Internet"

@{m_sec "Internet resources"}
To get actual information about @{m_htds} and the latest versions of the datatypes,
you can use the following Internet resources :

@{m_sub "WWW:"}
@{http_addr "http://www.amigaworld.com/support/htds/"}

@{m_sub "Mailing List:"}@{line}@{line}
Send a subscribe mail to @{mailto_addr "majordomo@thule.no"} with no subject
and message body: @{m_high "subscribe <your email address>"}.@{line}
To use the list just send mails to @{mailto_addr "htds@thule.no"}.@{line}
This mailing list is a offer from @{http "Petter Nilsen" "http://www.thule.no/~pettern/"}. Thanks!

@{m_sub "EMails:"}@{line}@{line}
Recently I installed procmail for my email account. Please send now bug reports with the
supplied form to one of the following email addresses with subject @{m_high "HTDS-Bugs"}.
Ideas with @{m_high "HTDS-Ideas"} subject and registrations with subject @{m_high "HTDS-Reg"}.
@{itemize}
@{item}@{mailto_addr "ruppert@amigaworld.com"}
@{item}@{mailto_addr "ruppert@goofy.zdv.uni-mainz.de"}
@{enditemize}
@{m_sub Aminet:}
Roadmap guide to HTDS : @{aminet_addr "util/dtype/HTDS_Roadmap.txt"}

Datatypes:
@{itemize}
@{item}@{aminet_addr "util/dtype/hypertext_dtc.lha"}
@{item}@{aminet_addr "util/dtype/ascii_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/dir_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/hguide_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/html_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/man_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/pinfo_hdtc.lha"}
@{item}@{aminet_addr "util/dtype/catalog_hdtc.lha"}
@{enditemize}

Handlers:
@{itemize}
@{item}@{aminet_addr "disk/misc/root-handler.lha"}
@{item}@{aminet_addr "disk/misc/dnode-handler.lha"}
@{enditemize}

@{m_sub News:}@{line}@{line}
If you want to discuss general things about programming and design of datatypes @{m_htds}
comp.sys.amiga.programmer is a good place.
@{m_endsec}
@endnode

@node Introduction "HTDS/Introduction"
@{m_sec Introduction}
The reasons of writing @{m_htds} was first to replace the existing text.datatype.
The include file of the text.datatype inspired me to write a datatype, which is
able to embed any other datatype object. After some experiments with the existing
text.datatype I decided to write a replacement. During the development of this
replacement datatype, I decided to drop the compatibility for the text.datatype
and write a complete new base datatype for hypertext formats.


Now the @{m_prg} provides features, which currently only available Web-Browsers
offers the Amiga user. But as all Web-Browsers they are normal applications,
which have at least a ARexx port to control the behaviour of the application.
Now with the @{m_htds} it's possible to intergrate for example a Web-Browser in
your own application or `Webbing' around with MultiView.@{line}
Because the @{m_htds} based on the Datatypes/BOOPSI concept of the AmigaOS 3.0 or
newer, it's possible to derive @{"new Datatypes" link SubDataTypes} from the
@{"base Datatype" link hypertext_dtc.hguide/main}. So the wide range of different
text and hypertext formats are easy to implement. And hopefully in future the
Amiga supports text/hypertext formats as much as current picture formats. This
would make the Amiga a little bit more unique and uptodate.
@{m_endsec}

@{m_sec "Requirements"}
You need at least :
@{itemize}
@{item}AmigaOS 3.0 (V39) or newer
@{item}At least 2Mb of RAM
@{item}Hard drive
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" Features " link Features}, @{" ToDo List " link ToDo}
@{m_endsec}

@endnode
@node Features "HTDS/Features"

@{m_sec "Short overview of the features HTDS provides"}
@{itemize}
@{item}base datatype class for HyperText: @{"hypertext.datatype" link hypertext_dtc.hguide/main}
@{item}@{"embedding" link EmbeddingObjects} of other DataTypes objects
@{item}@{"basic" link hypertext_dtc.hguide/CommonAttrs} HyperGuide attributes for any subdatatype
@{item}asyncron rendering (not in input task)
@{item}multiple fonts
@{item}links to other DataTypes objects
@{item}links to programs and ARexx-scripts
@{item}line separator like HTML <hr>
@{item}justification left,center,right
@{item}paragraphs support
@{item}tabulator support
@{item}own @{"ARexx port" link hypertext_dtc.hguide/ARexxIFace}
@{item}@{"navigator buttons" link hypertext_dtc.hguide/UserIFace_Navigator} like AmigaGuide
@{item}additional buttons 'Forward', @{"Search" link hypertext_dtc.hguide/UserIFace_SearchRequester} and @{"About" link hypertext_dtc.hguide/UserIFace_AboutRequester}
@{item}@{"global" link HTDS_TOC.hguide} table of contents
@{item}@{"locale" link Locale} support from ATO.
@{item}mark lines @{m_regonly}
@{item}a defined API
@{item}example subclass with full source code (@{"SDK" link SDK})
@{item}print support
@{item}@{"search" link hypertext_dtc.hguide/UserIFace_SearchRequester} support @{m_regonly}

@{m_sub SubDataTypes}
@{item}@{"hyperguide.datatype" link hyperguide_hdtc.hguide/main} AmigaGuide compatible
@{item}@{"html.datatype " link html_hdtc.hguide/main}
@{item}@{"htdsascii.datatype" link ascii_hdtc.hguide/main} replaces the ascii.datatype
@{item}@{"directory.datatype" link directory_hdtc.hguide/main} to browse through the FileSystem
or get advantage of pseudo FileSystems like Proc: or Ftp:
@{item}@{"man.datatype" link man_hdtc.hguide/main} browse unix manual pages
@{item}@{"productinfo.datatype" link productinfo_hdtc.hguide/main} for Product-Info files
@{item}@{"catalog.datatype" link catalog_hdtc.hguide/main} for locale catalog files

@{m_sub "SubDataTypes from other authors"}
@{item}exe.datatype from Swen Stullich
@{item}iff.datatype from Swen Stullich
@{enditemize}
@{m_endsec}

@{m_sec "See Also"}
@{" ToDo List " link ToDo}, @{" User Interface " link hypertext_dtc.hguide/UserIFace},
@{" HyperGuide Attributes " link hyperguide_hdtc.hguide/Attrs}
@{m_endsec}
@endnode
@node Configuration "HTDS/Configuration"

@{m_sec Configuration}
As the recommended standard for datatypes, each Datatype should provide a
preference file, that is named @{m_file "<datatypename>.prefs"} and searched first
in the @{m_file "PROGDIR:Prefs/DataTypes"} and then in @{m_file "Env:DataTypes"}
directory.

The format of this preference file isn't defined, but most of the Datatypes uses
ASCII files, which are parsed using the @{"dos.library/ReadArgs()" link dos/ReadArgs()}
function. This format is used for all @{m_htds} datatypes.

The following links point to the configuration documentation of the
appropriate Datatype :

@{itemize}
@{item}@{" hypertext.datatype "   link hypertext_dtc.hguide/Configuration}
@{line}
@{item}@{" hyperguide.datatype "  link hyperguide_hdtc.hguide/Configuration}
@{item}@{" html.datatype "        link html_hdtc.hguide/Configuration}
@{item}@{" directory.datatype "   link directory_hdtc.hguide/Configuration}
@{item}@{" man.datatype "         link man_hdtc.hguide/Configuration}
@{item}@{" productinfo.datatype " link productinfo_hdtc.hguide/Configuration}
@{item} htdsascii.datatype
@{item} catalog.datatype
@{enditemize}
@{m_endsec}
@endnode
@node EmbeddingObjects "HTDS/Embedding of DataTypes objects"
@{m_sec "Embedding of DataTypes objects"}
The most exciting feature within @{m_prg} is, that possibly all other
files/objects can be embedded within a document. Requirement for this is,
that the appropriate DataType supports the DTM_DRAW method. But currently
only view datatypes supports the DTM_DRAW method (see below).
In future the hypertext.datatype itself will support this method, so
that it would be possible to embed a HyperText object within a HyperText
object.@{line}
For example to embed a directory listing using the @{"directory.datatype" link directory_hdtc.hguide/main}
within a @{hyperguide} document.@{line}
But with this possibility you must take care when writing HyperText
documents to not recursively embed a object.
@{m_endsec}

@{m_sec "Datatypes, which supports DTM_DRAW"}
@{itemize}
@{item} picture.datatype V40,V42 (using picdtpatch)
@{item} Picasso96 picture.datatype V43 (Olaf Barthel)
@{item} CyberGraphics picture.datatype V43 (Ralph Schmidt)
@{enditemize}
@{m_endsec}

@{m_sec "See Also"}
@{" HyperGuide: @{object ...} " link hyperguide_hdtc.hguide/ATTRS_MISC},
@{" PicDTPatch " link picdtpatch.doc/main}
@{m_endsec}
@endnode
@node Exports "HTDS/Export function"

@{m_sec "Export function"}
@{m_htds} supports to export the current viewed hypertext page. This can be done
with the @{"EXPORT" link hypertext_dtc.hguide/ARexxIFace_EXPORT} ARexx command.
The following formats are currently supported :
@{itemize}
@{item}ASCII (intern within the hypertext.datatype)
@{item}HTML (through an external html.export class)
@{enditemize}

Destinations of the export can be a file or clipboard.
@{m_endsec}
@{m_sec "Note"}
This function is only available in the @{"registered" link Registration} version.
@{m_endsec}
@endnode

@node ARexxScripts "HTDS/ARexx scripts"
@{m_sec "ARexx scripts"}
@{m_htds} comes with certain ARexx scripts for internet handling, automated
conversion between different hypertext formats and some other scripts for
various purposes.
@{m_endsec}

@{itemize}
@{item}Internet scripts
@{definition}
@{defterm}@{" mail.rexx " link ARexxScripts_mail}
@{defdata}Used to edit and send a mail to a specified email address.
@{defterm}@{" http.rexx " link ARexxScripts_http}
@{defdata}Used to open a HTTP URL.
@{defterm}@{" aminet.rexx " link ARexxScripts_aminet}
@{defdata}Used to download a file from a aminet site.
@{defterm}@{" ftp.rexx " link ARexxScripts_ftp}
@{defdata}Used to download a file from a ftp site.
@{enddefinition}
@{item}Conversion scripts
@{definition}
@{defterm}@{" HyperGuide2HTML.rexx " link ARexxScripts_HG2HTML}
@{defdata}Used to convert a whole HyperGuide document to HTML.
@{enddefinition}
@{item}Various scripts
@{definition}
@{defterm}@{" AddTOCEntry.rexx " link ARexxScripts_AddTOCEntry}
@{defdata}Used to add the current document to the global table of contents document.
@{defterm}@{" ViewSource.rexx " link ARexxScripts_ViewSource}
@{defdata}Used to open a window with the source of the current view document/node.
@{defterm}@{" LinkReq.rexx " link ARexxScripts_LinkReq}
@{defdata}Used to input a document path to open.
@{defterm}@{" SearchXRef.rexx " link ARexxScripts_SearchXRef}
@{defdata}Used to search into the XRef-System database.
@{enddefinition}
@{enditemize}

@{m_sec "Requirements"}
Each script needs at least ARexx running :-), rexxsupport.library and
the rexxdossupport.library.
@{m_endsec}

@{m_sec "Note"}
The @{"RX" link hypertext_dtc.hguide/ARexxIFace_RX} command is only available in the @{"registered" link Registration} version.
@{m_endsec}
@endnode
@node ARexxScripts_mail "HTDS/ARexx scripts/mail.rexx"

@{m_sec "Name"}
mail.rexx  -- send an email to a specified address
@{m_endsec}

@{m_sec "Template"}
EMAIL/A,SUBJECT,VERBOSE/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to start your preferred email program to send
an email to the specified address. The EMAIL and SUBJECT options specifies
the needed informations for your email program. The VERBOSE option outputs
all inputs and actions which will be done by the ARexx script.
@{m_endsec}

@{m_sec "Note"}
Don't change the template of the script! Only change things to support your
email program.
@{m_endsec}
@endnode
@node ARexxScripts_http "HTDS/ARexx scripts/http.rexx"

@{m_sec "Name"}
http.rexx  -- open a document using the http protocol
@{m_endsec}

@{m_sec "Template"}
URL/A
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to open a specified HTTP URL. The current script
tries to open the URL using AWeb. This may change in future, because of my
http-handler. If you want to add support for an other browser just do it
and @{"email" link SR.hguide/Addresses} me the result, thus I can distribute
it within a new release of HTDS.
@{m_endsec}

@{m_sec "Requirements"}
TCP/IP stack, AWeb-Browser
@{m_endsec}
@endnode
@node ARexxScripts_aminet "HTDS/ARexx scripts/aminet.rexx"

@{m_sec "Name"}
aminet.rexx  -- try to download a file from AmiNet
@{m_endsec}

@{m_sec "Template"}
FILE/A,SITE/K,DIR/K,LOCALDIR/K,QUIET/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to download a file from AmiNet. The FILE option
specifies the AmiNet file including the two type directories (e.g.
util/dtype/HTDS_RoadMap.txt). All other option should be omitted, because
they overwrite the users default settings in the script.
@{m_endsec}

@{m_sec "Requirements"}
TCP/IP stack, FtpMount
@{m_endsec}
@endnode
@node ARexxScripts_ftp "HTDS/ARexx scripts/ftp.rexx"

@{m_sec "Name"}
ftp.rexx -- download a file from a ftp site
@{m_endsec}

@{m_sec "Template"}
FTPPATH/K,LOCALDIR/K,QUIET/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to download a file from a ftp site. It uses
the FtpMount package. FTPPATH specifies the file to download, LOCALDIR
is the place where to store the downloaded file. QUIET disables all
information output generated by the script.
@{m_endsec}

@{m_sec "Requirements"}
TCP/IP stack, FtpMount
@{m_endsec}
@endnode
@node ARexxScripts_HG2HTML "HTDS/ARexx scripts/HyperGuide2HTML.rexx"

@{m_sec "Name"}
HyperGuide2HTML.rexx -- convert a HyperGuide document to HTML
@{m_endsec}

@{m_sec "Template"}
DEST/A,VERBOSE/S,DEBUG/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to convert a complete @{HyperGuide} document. Therefore
you have to load a document into MultiView and to start this script. DEST specifies
a directory where to put all generated HTML files.
@{m_endsec}

@{m_sec "Requirements"}
Registered HTDS package
@{m_endsec}
@endnode
@node ARexxScripts_AddTOCEntry "HTDS/ARexx scripts/AddTOCEntry.rexx"

@{m_sec "Name"}
AddTOCEntry.rexx -- add a document to the global table of contents.
@{m_endsec}

@{m_sec "Template"}
TITLE,PATH,NODENAME,VERBOSE/S,DEBUG/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to add the specified or actual viewed document to
the global table of contents. If the TITLE, PATH and NODENAME are omitted,
the script tries to get this information from the current viewed document.
Thus you can start this script from a button in the navigator bar of the
hypertext document.
@{m_endsec}

@{m_sec "Requirements"}
None
@{m_endsec}
@endnode
@node ARexxScripts_LinkReq "HTDS/ARexx scripts/LinkReq.rexx"

@{m_sec "Name"}
linkreq.rexx -- opens a string requester to input a document to open
@{m_endsec}

@{m_sec "Template"}
LINK,PUBSCREEN/K,PROMPT/S,VERBOSE/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script is used to open a document by specifying the a document
location using a string input requester. This is usefull for specifying URL
if you use the HTTP: device.
@{m_endsec}

@{m_sec "Requirements"}
Installed reqtools.library and rexxreqtools.library
@{m_endsec}
@endnode
@node ARexxScripts_SearchXRef "HTDS/ARexx scripts/SearchXRef.rexx"

@{m_sec "Name"}
SearchXRef.rexx -- searches the XRef database and creates a @{hyperguide} document
@{m_endsec}

@{m_sec "Template"}
SEARCH,MAX/N,PUBSCREEN/K,PROMPT/S,VERBOSE/S
@{m_endsec}

@{m_sec "Function"}
This ARexx script searches the XRef database for a string or pattern and creates
a @{hyperguide} document, which lists all found entries. You can input the
string/pattern by using a reqtools string requester. MAX specifies the maximum
number of entries to add to the document.
@{m_endsec}

@{m_sec "Requirements"}
Installed XRef-System 1.1,reqtools.library and rexxreqtools.library
@{m_endsec}
@endnode
@node ARexxScripts_ViewSource "HTDS/ARexx scripts/ViewSource.rexx"

@{m_sec "Name"}
ViewSource.rexx -- displays the source of the current viewed document
@{m_endsec}

@{m_sec "Template"}
,
@{m_endsec}

@{m_sec "Function"}
This ARexx script opens a new window containing the source code of the
current viewed document. This means you can look at the HTML or @{HyperGuide}
code.
@{m_endsec}

@{m_sec "Requirements"}
None.
@{m_endsec}
@endnode

@node DataTypesLibrary "HTDS/DataTypes Library in conjunction with HTDS"
@{m_sec "DataTypes Library"}
The current version of the @{m_htds} has some workarounds implemented to
avoid some bugs/imcompatibilities with the DataTypes Library.

@{itemize}
@{item}To view internal nodes of an @{hyperguide} document, it was necessary to
do a NewDTObject() call with SourceType set to DTST_RAM. But this failed in the
datatypesclass OM_NEW method. So I had to implement a workaround for this and its
only tested with datatypes.library V40.6. For datatypes.library V45 and above
this workaround isn't needed any more.

@{item}The datatypes.library provides a feature, which isn't documented : If
you click in a datatypes object box and hold down the button while moving the mouse
out of the datatypes object box, is does a autoscoll for that object. But the
datatypes.library do not notify the application of the new position.
The hypertext.datatype fixes this problem.
@{enditemize}
@{m_endsec}
@endnode
@node Locale "HTDS/Locale support"
@{m_sec "Locale support"}
@{m_htds} supports a various number of languages using the Amiga Translator Organisation
(@{http "ATO" "http://www2.dk-online.dk/users/Ole_Friis/Trans/"}).
Currently there are 12 catalogs and 8 localized help files. ATO makes the
Amiga even more a little bit unique! Thanks.


The following people translated the catalogs and/or help files :

@{code}@{settabs 10 40 70}
language@{tab}translator@{tab}proofreader@{tab}version
@{separator}
czech    @{tab}Ondrej Zima         @{tab}Vit Sindlar           @{tab}40.9
dansk    @{tab}Thomas Petersen     @{tab}Ole Friis             @{tab}40.5
deutsch  @{tab}me                  @{tab}                      @{tab}40.9
english  @{tab}me                  @{tab}                      @{tab}40.9
espańol  @{tab}Dámaso D. Estévez   @{tab}                      @{tab}40.5
français @{tab}Stephane Barbaray   @{tab}                      @{tab}40.5
@{tab}Francis Labrie      @{tab}                      @{tab}40.9
greek    @{tab}Dimitris Panokostas @{tab}Manos Konstantiniadis @{tab}40.5
italiano @{tab}Gabriele Guardi     @{tab}                      @{tab}40.9
norsk    @{tab}Torbjřrn Burchard   @{tab}Kjell Irgens          @{tab}40.9
polski   @{tab}Adam Zalepa         @{tab}Marcin Orlowski       @{tab}40.9
suomi    @{tab}Mika Lundell        @{tab}Jan Karjalainen.      @{tab}40.9
svenska  @{tab}Thomas Andersson    @{tab}                      @{tab}40.5
@{m_endsec}@{cleartabs}
@endnode
@node SubDataTypes "HTDS/SubDataTypes"

@{m_sec "SubDataTypes"}
There are currently the following SubDataTypes available :

@{settabs 30}
@{m_menuitem}@{" hyperguide.datatype " link hyperguide_hdtc.hguide/main}@{m_menuinfo "AmigaGuide replacement"}
@{m_menuitem}@{" html.datatype "       link html_hdtc.hguide/main      }@{m_menuinfo "World Wide Web"}
@{m_menuitem}@{" htdsascii.datatype "  link ascii_hdtc.hguide/main     }@{m_menuinfo "ascii.datatype replacement"}
@{m_menuitem}@{" directory.datatype "  link directory_hdtc.hguide/main }@{m_menuinfo "For normal directories"}
@{m_menuitem}@{" man.datatype "        link man_hdtc.hguide/main       }@{m_menuinfo "For unix manual pages"}
@{m_menuitem}@{" productinfo.datatype " link productinfo_hdtc.hguide/main}@{m_menuinfo "For ProductInfo files"}
@{m_menuitem}@{" catalog.datatype "    link catalog_hdtc.hguide/main   }@{m_menuinfo "For locale catalog files"}

@{m_sub "In SDK archive"}@{line}
@{m_menuitem}htdemo.datatype@{m_menuinfo "Demo datatype, similar to hyperguide.datatype"}
@{m_menuitem}dirdemo.datatype@{m_menuinfo "Subclass of the directory.datatype"}
@{cleartabs}
@{m_endsec}

@{m_sec "See Also"}
@{"ToDo List" link ToDo}
@{m_endsec}
@endnode
@node KnownBugs "HTDS/KnownBugs"

@{m_sec "KnownBugs"}
@{itemize}
@{item}In some circumstances the word wrap algorithm doesn't work correctly.
That is, two words can be layouted without a space between.

@{item}Not really a bug, but currently only view datatypes can be used for
embedding. See @{" Embedding of Objects " link EmbeddingObjects}.

@{item}If you use pictures as workbench backgrounds, PicDTPatch must be started
between AddDataTypes and IPrefs to work correctly.

@{item}Problem with NewObtainGIRPort() patch :@{line}
With such patches installed the hypertext.datatype can't render the contents
of the object the first time.@{line}
Currently I have a workaround embedded in the hypertext.datatype to avoid that.
But please remove that patch. Here is a @{" statement " link HWObtainGIRPort/main}
from Heinz Wrobel about that patch (Text included from the Amiga Developer-CD V1.1
with permission from Heinz Wrobel, thanks Heinz).

@{item}There are some @{"workarounds" link DataTypesLibrary} for the datatypes.library.
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" FAQ " link FAQ.hguide/main}
@{m_endsec}
@endnode
@node SDK "HTDS/Software Developer Kit (SDK)"
@{m_sec "Software Developer Kit"}
Due to the new distribution scheme of HTDS any developer stuff comes within the
appropriate datatype distribution. So you can find the main developer stuff in
@{aminet_addr "util/dtype/hypertext_dtc.lha"} archive.
@{line}

Currently only the C programming language is supported.
@{m_endsec}
@endnode
@node Thanks "HTDS/Thanks"

@{m_sec "Thanx have to go to"}
@{itemize}
@{item}Christian Buchner for the datatypes support
@{item}@{http " Martin Steigerwald " "http://home.pages.de/~helios/"}, for beta-testing
@{item}Ralph Schmidt, for implementing DTM_DRAW in V43 picture.datatype
@{item}Swen Stullich, for beta-testing and DTPref
@{item}Andreas Mixich, for beta-testing and registering XRef
@{item}@{http " Kai Hofmann " "http://www.informatik.uni-bremen.de/~i07m/"},
for beta-testing and some suggestions
@{item}Hartmut Goebel for his support with the html.datatype
@{item}Heinz Wrobel for permission to include his @{"statement" link HWObtainGIRPort/main}
about the NewObtainGIRPort() patch.
@{item}Stefan Becker for @{"WBStart" link ThirdParty}
@{item}Roland 'Gizzy' Mainz, for his V45 datatypes.library and for making his
directory.datatype source available. I get some ideas from his source.
@{item}@{http "Petter Nilsen" "http://www.thule.no/~pettern/"} for the @{m_htds} mailing
list
@{item}@{http "Amiga World" "http://www.amigaworld.com"} for giving me a free homepage for @{m_htds}
@{item}Thomas Igracki for the permission to include his Product-Info fields documentation.
@{item}Walter Dörwald for his @{aminet "LayerHook" "dev/gui/LayerHook.lha"} source.
@{item}Ole Friis and all ATO members for their @{"translation" link Locale} work.
@{item}and all users, especially all registered users


@{item}Manuel Nuńez, Marius Gröger (mag), Christoph Weyer, Roland Jung, Micheal Brühan,
for discussions "about god and the world" (a german proverb : "über Gott und die Welt".
I don't know, if its known in the english spooken world)@{line}
@{item}@{http " Christoph Weyer " "http://wwwvs.informatik.fh-wiesbaden.de/~weyer/"}
for motivating to go to the @{"Castor-Demo" link SR.hguide/Demo} in Gorleben
Germany May 1996.


@{item}Helmut Kohl for pushing my adrenaline level nearly every day.
See @{" Politics " link SR.hguide/Politics}.
@{enditemize}
@{m_endsec}
@endnode
@node ThirdParty "HTDS/Third Party Stuff"

@{m_sec "Third Party Stuff"}
@{m_sub "Stuff I used"}
@{itemize}
@{item}Compiler :@{line}
All programs and datatypes in this distribution are written in C
and compiled using SAS/C Version 6.58.
@{item}Editors :@{line}
This distribution was created using GoldED (Copyright by Dietmar Eilert) and
ProgED (Copyright by Giovanni Lambiase)
@{item}GNU make (SAS/C compiled version)
@{item}CatComp to create catalog files
@{enditemize}

@{m_sub "SAS/C Compiler Version 6.58"}

(c) Copyright 1988-1995 SAS Institute Inc.

@{m_sub "AmigaGuide"}

AmigaGuide and AmigaGuide project icon@{line}
(c) Copyright 1995-96 Amiga International.
All Rights Reserved.

@{m_sub "Installer"}

Installer and Installer project icon@{line}
(c) Copyright 1995-96 Amiga International.
All Rights Reserved.

@{m_sub "MagicWB"}

(c) Copyright 1994 Martin Huttenloher. All Rights Reserved.

@{m_sub "WBStart"}

Copyright (C) 1991-96 Stefan Becker.@{line}
You can get the complete archive on @{aminet_addr "util/libs/WBStart.lha"}

@{m_sub "Icons"}

Some (drawer) icons are taken from collections (mwbdrws_xxx.lha,MagicSAS1.1.lha) on AmiNet.
Read the documentation from these archives.

@{m_sub "Pictures"}

Some pictures are taken from the Amiga Technologies Web-Server.@{line}
(c) Copyright 1995-96 Amiga International.
All Rights Reserved.
@{m_endsec}

@{m_sec "See Also"}
@{" Copyright " link Copyright}
@{m_endsec}
@endnode
@node ToDo "HTDS/ToDo List"

@{m_sec "HTDS ToDo List"}
Here is a list of features to add to HTDS:
@{itemize}
@{item}Window with a list of all open documents
@{item}Bookmark window
@{item}implement DTM_DRAW method for the hypertext.datatype itself.
@{item}implement gadgets in the document, so I can implement full HTML 3.2
@{item}support search in all nodes
@{item}and more ....
@{enditemize}

hypertext.datatype improvements :
@{itemize}
@{item}optimizations for memory usage and speed. There is much to optimize.
@{item}more @{"ARexx commands" link hypertext_dtc.hguide/ARexxIFace}
@{enditemize}

hyperguide.datatype improvements :
@{itemize}
@{item}support of lines to go to.
@{item}any other idea ?
@{enditemize}

html.datatype improvements :
@{itemize}
@{item}table support
@{item}gadget support
@{enditemize}

Sub DataTypes to create :
@{definition}
@{defterm}c.datatype
@{defdata}move from text.datatype baseclass to hypertext.datatype
@{defterm}mail.datatype
@{defdata}Read your mail with datatypes
@{defterm}autodoc.datatype
@{defdata}Show standard autodoc files as hypertext
@{defterm}pdf.datatype
@{defdata}For Adobe PDF format. If anyone of you want to write such a thing.
I will give you as much help as I can.
@{defterm}archive.datatype
@{defdata}Datatype for archives like lha and tar using ObjArchive classes ?
@{defterm}dock.datatype
@{defdata}Datatype for ToolManager like docks
@{enddefinition}

Tools
@{definition}
@{defterm}makeinfo
@{defdata}change GNU makeinfo to support @{hyperguide}
@{enddefinition}
@{m_endsec}
@endnode

