@DATABASE "AGHTW-Part1"
@$VER: Amigaguide_How_To_Write_Pt1 01.06 (12.02.98) Copyright © 1997/1998 Frank P. Bunton
@INDEX "AGHTW_Index/Index"

@NODE "MAIN" "How To Write AG - Part 1"
@TOC "AGHTW_Index/Main"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS - PART 1@{UB}@{UU}
@{JLEFT}
This node should not normally be displayed if you started off from the
index file. But in case you started off this file as an individual document,
you can now access the following items:-
@{JCENTER}
@{" IMPORTANT - READ ME FIRST             " LINK "Important"}

@{" Amigaguide Versions                   " LINK "Versions"}

@{" Current Directory Used By AG/MV       " LINK "CD"}

@{" Getting Started - Basic Document      " LINK "Getting"}

@{" How to Insert Commands                " LINK "Inserting"}
@{" How to Insert Backslash and @         " LINK "Backslash"}

@{" How Unrecognised Commands are Handled " LINK "Unrecognised"}

@{" The Document Header                   " LINK "Header"}
@{"   DATABASE Command                    " LINK "Database"}

@{" The Document Nodes                    " LINK "Nodes"}
@{"   NODE Command                        " LINK "Node"}
@{"   TITLE Command                       " LINK "Title"}
@{"   ENDNODE Command                     " LINK "EndNode"}
@{"   DNODE Command                       " LINK "DNode"}

@{" The MAIN Node & Calling Documents     " LINK "MainNode"}

@{" MAIN INDEX " LINK "AGHTW_Index/Main"}


@{JCENTER}=== End of Text ===

@ENDNODE

@NODE "Important" "How To Write AG - IMPORTANT - Read Me First (Pt1)"
@TOC "AGHTW_Index/Contents"
@PREV "AGHTW_Boring_Stuff/Errors"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS@{UB}@{UU}

@{B}@{U}# = @@{UB}@{UU}
@{JLEFT}
Wherever you see the symbol # in these documents you must take it to mean
the symbol \@.

The \@ symbol indicates to Amigaguide/Multiview that what follows it is a
special Amigaguide/Multiview command and normally these commands do not
appear in the text that can be read.

In writing a document like this it is necessary for the reader to be able to
read these special commands when I am explaining their usage. Therefore I
cannot always use the \@ symbol in front of them because, in some
circumstances, they would not be visible to the reader. So I use the
# symbol instead.

Just remember, therefore, that if I use something like:-

  #NODE

then, when you come to write your own documents, you must substitute a
\@ for the #

In some cases I can show the actual \@ character as in:-

  \@{B}

This is done by @{"inserting a backslash" LINK "Backslash"} character before the \@.

In versions 34 and 40, but @{B}NOT@{UB} in version 39!!!, the backslash can also be
used before things like #NODE (remember # = \@)

As an example, the line 5 down that starts with the --> arrow has this
sequence of characters following the arrow:-

      /#NODE      (where / = backslash and # = \@)

  --> \@NODE

So, if there is text after the --> in the above line you are probably @{B}not@{UB}
using version 39 but if there is nothing after the --> then you probably @{B}are@{UB}
using version 39.

If it were not for this peculiarity of version 39 I could have used the \@
everywhere but there are far too many version 39 users out there to do this.


@{JCENTER}=== End of Text ===































@ENDNODE

@NODE "Versions" "How To Write AG - Amigaguide Versions (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

AMIGAGUIDE VERSIONS@{UB}@{UU}
@{JLEFT}
Amigaguide was first released by Commodore as a separate package and not as
part of the Amiga workbench or extras disks. The idea was that program
developers would include, under license, the necessary parts of the package
(i.e. Amigaguide itself and the Amigaguide.library file) in anything that
they produced that had Amigaguide style documents.

Early versions were supposedly compatible with AmigaDOS v1.3 but I have
heard reports (which I have yet to confirm or deny) that there were problems
when using Amigaguide with AmigaDOS 1.3.

It certainly worked O.K. with AmigaDOS 2.0 onwards.

Amigaguide itself seemed to start at Version 34

The important part of the Amigaguide system is the "amigaguide.library"
file and, for Multiview, the "amigaguide.datatype" file.

The versions of the "amigaguide.library" and "amigaguide.datatype" files
that I have seen are:-

   amigaguide.library  v 34.8    For AmigaDOS 1.3 - 2.1  (WB/KS v 34-38)

   amigaguide.library  v 39.11 } For AmigaDOS 3.0        (WB/KS v 39)
   amigaguide.datatype v 39.15 }

   amigaguide.library  v 40.4  } For AmigaDOS 3.1        (WB/KS v 40)
   amigaguide.datatype v 40.12 }

(There are probably other versions that I am unfamiliar with.)

From v39, the first part of the version number (39 and 40) appears to
correspond to the Workbench/Kickstart versions for which it was written.

From version 39 onwards, Amigaguide became a part of the more versatile
program "Multiview".

When Multiview is used with a document in the Amigaguide format, Multiview
calls on the files:-

  amigaguide.library
  amigaguide.datatype

It does @{B}NOT@{UB} use the program "Amigaguide".

Some Amigaguide commands will only work with Amigaguide v39 onwards and
some only with version 40 onwards. I have indicated where this is so in the
discussion of the various features.

Commands that are applicable to later versions will not really cause any
problems when used in earlier versions. They will just be @{"ignored" LINK "Unrecognised"}.

As at time of writing (December 1997) it is my impression that there is still
a large group of Amiga owners using Workbench 2.1 or earlier. These people
will not be able to see the features of Amigaguide versions 39 onwards so,
if you do use things like bold text, underlining, italics, justification,
word wrapping, and all the other features of versions 39 and later, just keep
this in mind.


@{JCENTER}=== End of Text ===

































@ENDNODE

@NODE "CD" "How To Write AG - Current Directory (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

CURRENT DIRECTORY RECOGNISED BY AMIGAGUIDE/MULTIVIEW@{UB}@{UU}
@{JLEFT}
When @{"making links" LINK "AGHTW_Part2/MakingLinks"} to files other than the document currently being
displayed it is important to know what current directory is being used by
Amigaguide or Multiview.

To the best of my knowledge, the Amigaguide/Multiview's current directory is
generally determined as outlined below. Please let @{"me" LINK "AGHTW_Boring_Stuff/Author"} know if you find it
otherwise with your setup:-

@{B}Version 39 & 40@{UB}:-

- If started from Shell/CLI, Amigaguide/Multiview's current directory will
  be the directory holding the document first read by Amigaguide/Multiview.
  (Note that this is @{B}different@{UB} to Version 34.)
  For example, if you used:-

  > Multiview MyDisk:GuideFiles/MyGuide.guide

  then Multiview's current directory would be:-

     MyDisk:GuideFiles/

- If started from an icon, then Amigaguide/Multiview's current directory
  will be the drawer holding the icon.

@{B}Version 34@{UB}:-

- If started from Shell/CLI, then Amigaguide's current directory will be the
  current directory of the Shell/CLI from which Amigaguide is started.
  (Note that this is @{B}different@{UB} to Versions 39 & 40.) 

- If started from an icon, then Amigaguide's current directory will be the
  drawer holding the icon.


@{JCENTER}=== End of Text ===

@ENDNODE

@NODE "Getting" "How To Write AG - Getting Started (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

GETTING STARTED@{UB}@{UU}
@{JLEFT}
I have included this section in case you only wish to produce simple
Amigaguide documents. If so, it may be that this section is all that you
will need to read.

The basic Amigaguide document (with only one @{"node" LINK "AGHTW_Part5/Nodes"}) will look something like
the following (remember that @{"# = @" LINK "Important"}):-

---------------------------------------------------------------------------
#DATABASE
   
#NODE "MAIN"
   
Text to be displayed in this node
   
#ENDNODE
---------------------------------------------------------------------------

(The two divider lines with ----- are NOT part of it!!!)

@{"Click here" LINK "Miscellaneous/BasicDoc.guide/Main"} to read a document that is exactly as above.

The @{"command" LINK "AGHTW_Part5/Commands"} @{"DATABASE" LINK "DataBase"} MUST be the very first line and the \@ must be the
very first character of that first line.

The one @{"node" LINK "Nodes"} in the basic document must start with the @{"NODE" LINK "Node"} command and
@{B}MUST@{UB} be called @{"MAIN" LINK "MainNode"} as Amigaguide/Multiview always displays the node called
MAIN first and aborts if it cannot find a node called "MAIN".

The text to be displayed must appear after the "#NODE Main" (remember that
@{"# = @" LINK "Important"}) starting on a new line.

The basic one node document must end with the @{"ENDNODE" LINK "EndNode"} command on a line
of its own and it @{"MUST" LINK "AGHTW_Part5/Problems"8} have a @{"line feed" LINK "AGHTW_Part5/LineFeed"} after it.

O.K. - if you want to have only a very simple document then this is all
you need to have in it.


@{JCENTER}=== End of Text ===
































@ENDNODE

@NODE "Inserting" "How To Write AG - Inserting Commands (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

INSERTING COMMANDS@{UB}@{UU}
@{JLEFT}
There are a lot of @{"commands" LINK "AGHTW_Part5/Commands"} that can be used in an Amigaguide document.
@{"Click here" LINK "AGHTW_Index/IndexCommands"} to view the full list of them.

In order that Amigaguide can recognise a command as such and not as text
which is to be displayed, commands are all preceded by the \@ symbol.
For example, the commands that indicate the start and end of a @{"node" LINK "AGHTW_Part5/Nodes"} are
included in the text like this (remember that @{"# = @" LINK "Important"}):-

  #NODE "NodeName"

  #ENDNODE

@{B}@{U}Letter Case Of Commands@{UB}@{UU}

You can, with one exception, use upper or lower case when inserting commands
into your documents. For example:-

  NODE  is the same as  Node  or NodE

  {UB}  is the same as {ub} or {Ub}

The exception is the @{"VER:" LINK "AGHTW_Part3/MiscNon"43} command which @{B}MUST@{UB} be in upper case!!

@{B}@{U}Commands WITHOUT {} Brackets - All Versions@{UU}@{UB}

These commands, such as the NODE and ENDNODE shown above, @{B}MUST BE@{UB}:-

  - placed on a line of their own
  - have the \@ symbol as the very first character of the line

@{B}@{U}Commands WITH {} Brackets - Versions 39 Onwards@{UU}@{UB}

Some commands also use the {} brackets to enclose the part that comes after
the \@. Examples are the {B} and {UB} to turn @{"bold text" LINK "AGHTW_Part4/Style"} on and off.

In general, these can be placed @{B}ANYWHERE@{UB} in a line and need @{B}NOT@{UB} be on a line
of their own.

For example, the commands to turn on and off bold, italic and underlining
are inserted like this:-

 \@{B}bold text\@{UB} \@{I}italic text\@{UI} \@{U}underlined text\@{UU}
  
If you have @{"Amigaguide version" LINK "Versions"} 39 or higher then these lines would appear
in the text like this:-

 @{B}bold text@{UB} @{I}italic text@{UI} @{U}underlined text@{UU}

(If the above line is in plain text then you are using a version earlier
than 39.)  


@{JCENTER}=== End of Text ===


























@ENDNODE

@NODE "BackSlash" "How To Write AG - Inserting BackSlash and @ (Pt1)"
@TOC "AGHTW_Index/Contents"
@NEXT "Unrecognised"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

INSERTING THE BACKSLASH AND \@ SYMBOL@{UB}@{UU}
@{JLEFT}
This section is a bit difficult to write as the backslash character is
treated differently in Amigaguide version 40 than it is in earlier versions.

In version 40 it causes only one backslash to appear when two are used side
by side and none to appear when one is used.

In earlier versions it appears normally except when followed by the \@
character.

I have put some backslashes at the end of this line after the arrow --> \\

If, in the preceding line, you can see:-

 - two backslash characters then @{"click here" LINK "Inserting39"}.

 - one backslash character  then @{"click here" LINK "Inserting40"}.

The differences in the way the backslash is treated makes it difficult for
authors to use it (except in front of the \@ character).

At time of writing (December 1997) it appears to me that most Amiga owners
are still using version 39 and earlier and so it would be best if you tried
to completely avoid the use of the backslash character except before the \@.

If you @{B}DO @{UB}use the \@ after a backslash and there is any chance that your
readers might be using version 39 then try to make sure that the very
next character is a space or a {. Any other character causes @{"problems" LINK "Inserting39"35} in
version 39. Otherwise people using version 39 may become confused with what
you are trying to put across.


@{JCENTER}=== End of Text ===

@ENDNODE

@NODE "Inserting39" "How To Write AG - Inserting Commands - V39 & Earlier (Pt1)"
@TOC "AGHTW_Index/Contents"
@NEXT ""
@PREV ""

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

INSERTING COMMANDS - VERSION 39 AND EARLIER@{UB}@{UU}
@{JLEFT}
(If you are reading this using Amigaguide/Multiview version 40 then it will
probably @{B}NOT make much sense!!!@{UB} - Please read the section designed for
@{"your version" LINK "Inserting40"} instead.)

Sometimes you may want the \@ character itself to appear in your text (like I
have in this paragraph). If so, then precede it with the \ character like
this:-

  This is the \\@ sign
  
This would appear in the text like this:-

  This is the \@ sign

The \ character has been used above to tell Amigaguide that the \@ character
following it is to be displayed as actual text and NOT interpreted as the
Amigaguide command indicator \@. The \ itself is NOT displayed.

If the character immediately after the \@ is a space or a { then there is
no problem. Everything else on that line is readable. The space after it is
illustrated here --> \@ <-- and this is readable in all versions.

A { after a \@ could be illustrated by using a line like this:-

  The command \\@{B} produces bold text

This would appear as follows:-

  The command \@{B} produces bold text.

However, if any character other than a space or a { comes immediately after
the \@ then the result depends on the Amigaguide/Multiview version in use.

@{B}In versions 34 and 40@{UB} it is all readable. For example, the following line
(remember that @{"# = @" LINK "Important"}):-

  The \#NODE command is used at the start of a node

would appear like this:-

  The #NODE command is used at the start of a node

The following line has the \@ in it instead of the # so that users of
versions 34 and 40 can see it really working:-

  The \@NODE command is used at the start of a node

@{B}In version 39@{UB} NOTHING in the above line from the \\@ onwards can be seen.
If you are now using version 39 you will see that this is so from the above
line. You should only be able to see the first word "The".

It would appear that any other use of the \ character has no special effect
and that it appears normally in the text.

This is different to version 40 where the \ character does not appear in
the displayed text at all unless it is, itself, preceded by another \
character. That is, you would use \\ to make one \ appear.

If you are reading this node with version 40 then the above line will
extend beyond the right edge of the window because there is a backslash
character after "another" which is followed by a line feed. A line feed is
nullified by a preceding backslash in version 40 but not in earlier versions.


@{JCENTER}=== End of Text ===









































@ENDNODE

@NODE "Inserting40" "How To Write AG - Inserting Commands - V40 Onwards (Pt1)"
@TOC "AGHTW_Index/Contents"
@PREV ""
@NEXT ""

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

INSERTING COMMANDS - VERSION 40@{UB}@{UU}
@{JLEFT}
(If you are reading this using Amigaguide/Multiview version 39 or earlier
then it will probably @{B}NOT make much sense!!!@{UB} - Please read the section
designed for @{"your version" LINK "Inserting39"} instead.)

Sometimes you may want the \@ character itself to appear in your text (like I
have in this paragraph). If so, then precede it with the \\ character like
this:-

  This is the \\\@ sign
  
This would appear in the text like this:-

  This is the \@ sign

The \\ character has been used above to tell Amigaguide that the character
following it is to be displayed as actual text and NOT interpreted as the
Amigaguide command indicator \@. The \\ itself is NOT displayed.

This feature allows you to include, in your text, actual Amigaguide/Multiview
commands that can be read by the user. For example the line:-

  The command \\\@{B} produces bold text

would appear like this:-

  The command \@{B} produces bold text

And the line:-

  The \\@NODE command is used at the start of a node

would appear like this:-

  The \@NODE command is used at the start of a node

@{B}Note@{UB} that this is the same with version 34 but DIFFERENT in version 39. In
version 39 lines that contain things like \\@NODE will NOT be readable from
the \\@NODE onwards!!

If you want to include the \\ sign itself in your text you would need to
use a double \\ as in:-

  This is the \\\\ sign
  
This would appear in the text like this:-

  This is the \\ sign

The \\ character also appears to nullify a @{"line feed" LINK "AGHTW_Part5/LineFeed"} character if it is
used immediately before the line feed. For example, after this arrow -->\
is a backslash and a line feed character.
It appears in my display window as a bell shape (Why??) and the line extends
beyond the right edge of the window.

I have not come across any other characters that the \\ character has an
affect upon. If you know of any @{"I" LINK "AGHTW_Boring_Stuff/Author"} would appreciate it if you could let me
know.

The above treatment of the \\ character is different to version 39 and
earlier where the \\ character only affects the display of the \@ character
and all other usage of the \\ character will cause it to appear normally in
the text.


@{JCENTER}=== End of Text ===














































































@ENDNODE

@NODE "Unrecognised" "How To Write AG - Unrecognised Commands (Pt1)"
@TOC "AGHTW_Index/Contents"
@PREV "Backslash"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

HOW AMIGAGUIDE DEALS WITH UNRECOGNISED COMMANDS@{UB}@{UU}
@{JLEFT}
If you insert a command that Amigaguide does not recognise then it will
usually be ignored.

In this way, commands that came into being in a later version than the one
you are using do not create a problem other than not doing what they are
designed to do. For example, bold, underlined or italic text will remain as
plain text in versions earlier than 39.

Similarly, if you get a command wrong, it should not crash the system or
prevent the document from being viewed. It should just be ignored.

This is why I have described certain commands as @{"Non Commands" LINK "AGHTW_Part3/MiscNon"}.

Unrecognised commands that have their \@ as the very first character of a
line and that do @{B}NOT@{UB} use the {} brackets will cause the @{B}WHOLE@{UB} line to be
ignored even if the text following it is not a part of the command or its
arguments. However, if their \@ is @{B}NOT@{UB} the first character of the line then
the whole command including its \@ character will be displayed as normal
text. For example:-

The @garbage command is a garbage command.

Unrecognised commands that @{B}DO @{UB}use the {} brackets, but that are @{B}not@{UB} set up
in a similar manner to @{"link commands" LINK "AGHTW_Part2/MakingLinks"} will be completely ignored no matter
whether their \@ is the first character of the line or further into the line.
However, the rest of the text @{B}WILL@{UB} be displayed even if the \@ is the first
character of the line as demonstrated by the following paragraph.

@{garbage}There is an unrecognised command@{garbage} using {} at the start and middle of this
line. (Believe me - I am an Amiga owner!! Or don't believe me and look at
this file with an ordinary text reader - its name is "AGHTW_Part1".)

The treatment of unrecognised commands set up as @{"link commands" LINK "AGHTW_Part2/MakingLinks"} will depend
on the Amigaguide/Multiview version.

The following button set up:-

  #{"Button Name" garbagecommand}               (remember that @{"# = @" LINK "Important"})

has been included between the arrows in the next line:-

  --> @{"Button Name" garbagecommand} <--

@{B}In version 34@{UB} the button is visible and will activate the @{"Amiga alert" LINK "AGHTW_Part2/Beep"29} if it
is clicked.

@{B}In version 39@{UB} the button is completely invisible.

@{B}In version 40@{UB} the button is visible but does nothing if clicked.

When @{"debugging" LINK "AGHTW_Part5/Debugging"} is turned on in @{B}version 40@{UB}, I have found these results:-

- unrecognised commands that do not use curly {} brackets will be reported
  as "undefined keywords". This would include situations where you forget to
  put curly {} brackets around an attribute command. 

- unrecognised commands inside curly {} brackets placed in a @{B}global@{UB} position
  give an error "must be inside a node".

- unrecognised commands inside curly {} brackets placed in a @{B}local@{UB} position
  give no error message.


@{JCENTER}=== End of Text ===




























@ENDNODE

@NODE "Header" "How To Write AG - The Document Header (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE DOCUMENT HEADER@{UB}@{UU}
@{JLEFT}
The Amigaguide document header consists of the @{"DATABASE" LINK "Database"} command followed
by any @{"global" LINK "AGHTW_Part3/Global"} commands that are being used. After the global commands comes
the first @{"NODE" LINK "Node"} command. Thus a document header looks like this:-
(remember that @{"# = @" LINK "Important"})

---------------------------------------------------------------------------

#DATABASE "MyDocument"
Global command line
Global command line
.... (However many global commands are necessary)

#NODE "Main" "Node Title"

---------------------------------------------------------------------------

(The two divider lines with ----- are NOT part of it!!!)

@{B}@{U}The Global Commands@{UB}@{UU}

None of the @{"global" LINK "AGHTW_Part3/Global"} commands are necessary but, if included, they should come
between the #DATABASE line and before the #NODE "Main" (See @{"MAIN Node" LINK "MainNode"}).

Each global command must be on a line of its own@{UB} and its \@ character @{B}must
be the first character on that line.@{UB}

Some global commands, but not all, will work if placed:-

  @{B}BETWEEN@{UB} one @{B}#ENDNODE@{UB} and the next @{B}#NODE@{UB}        (remember that @{"# = @" LINK "Important"})

  @{B}AFTER@{UB} the @{B}LAST #ENDNODE@{UB} command

but I would advise strongly against placing them in these sorts of places
as some do not work there and some only affect the nodes that come after
them. Also, it is too easy for you, the human, to lose them in the bulk of
the document (the computer would not lose them!!).


@{JCENTER}=== End of Text ===

























@ENDNODE

@NODE "Database" "How To Write AG - The Database Command (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

The DATABASE Command

All Versions - GLOBAL Command@{UU}@{UB}
@{JLEFT}
Each Amigaguide document MUST start with the @{"command" LINK "AGHTW_Part5/Commands"} #DATABASE (remember
that @{"# = @" LINK "Important"}):-

#DATABASE "Document Name"
  
It must:-

 - be on the very first line
 - be on a line of its own
 - have the \@ as the very first character on the line (no spaces!).

If the "Document Name" is left out, i.e. you just use:-

#DATABASE

then Amigaguide and Multiview still seem to work O.K. but I have found that
@{"error reporting" LINK "AGHTW_Part5/Debugging"} will give an error message "missing arguments".


@{JCENTER}=== End of Text ===




































@ENDNODE

@NODE "Nodes" "How To Write AG - Setting Up Nodes (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

SETTING UP THE DOCUMENT'S NODES@{UB}@{UU}
@{JLEFT}
Each node must start with the command @{"NODE" LINK "Node"} and end with the command
@{"ENDNODE" LINK "EndNode"}.

These two commands @{B}must be on lines of their own@{UB} and the \@ @{B}must be at the
start of the line@{UB}.

It is easy to accidently create a document in which the last ENDNODE does
not have a @{"line feed" LINK "AGHTW_Part5/LineFeed"} after it. If so, you will experience @{"problems" LINK "AGHTW_Part5/Problems"8} with
Amigaguide/Multiview!!

You @{B}MUST@{UB} put a line feed after the last ENDNODE.

@{"Local" LINK "AGHTW_Part3/Local"} commands (but not @{"attributes" LINK "AGHTW_Part4/Attributes"}) are best placed immediately after the
NODE command where they can be easily found (by @{B}humans!@{UB}) although they
appear to work if placed anywhere between the NODE and ENDNODE commands.

A node would look like this (remember that @{"# = @" LINK "Important"}):-

---------------------------------------------------------------------------
#NODE "NodeName" "Title Text For Title Bar"
Local Command
Local Command
Local Command
.... (however many locals are necessary)

Text for node

#ENDNODE
---------------------------------------------------------------------------
(The two divider lines with ----- are NOT part of it!!!)

(See also @{"The MAIN Node" LINK "MainNode"}.)

With @{"debugging" LINK "AGHTW_Part5/Debugging"} turned on in @{B}version 40@{UB}, commands that are @{B}local only@{UB} (i.e.
that cannot be used as global commands as well), will give an error report
"Must be inside node" if they are placed outside a node, e.g. before the
first NODE command or between one ENDNODE and the next NODE or after the
last ENDNODE.


@{JCENTER}=== End of Text ===




































@ENDNODE

@NODE "Node" "How To Write AG - The Node Command (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE NODE COMMAND

All Versions - LOCAL Command@{UU}@{UB}
@{JLEFT}
The minimum for this command is:-

#NODE "NodeName"                          (remember that @{"# = @" LINK "Important"})

The "NodeName" need not be in inverted commas if there are no spaces in it.
However, I find it is best to always include it in inverted commas to
prevent slip ups.

You can also include a title for the tile bar of the window:-

#NODE "NodeName" "Title Text For Title Bar"

If no title bar text is used and if the @{"TITLE" LINK "Title"} command is not used then the
title bar text will be the same as the "NodeName".

(See also @{"The MAIN Node" LINK "MainNode"}.)


@{JCENTER}=== End of Text ===































@ENDNODE

@NODE "Title" "How To Write AG - The Title Command (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE TITLE COMMAND

All Versions - LOCAL Command@{UU}@{UB}
@{JLEFT}
This command will place text into the display windows's title bar:-

#TITLE "Title Text For Title Bar"         (remember that @{"# = @" LINK "Important"})

If used, this text will be used in preference to any title bar text
included with the @{"NODE" LINK "Node"15} command.

This command is really unnecessary as the title can be @{"placed in the NODE" LINK "Node"15}
command itself.


@{JCENTER}=== End of Text ===

@ENDNODE

@NODE "EndNode" "How To Write AG - The EndNode Command (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE ENDNODE COMMAND

All Versions - LOCAL Command@{UU}@{UB}
@{JLEFT}
This command is used on its own without any arguments:-

#ENDNODE                                  (remember that @{"# = @" LINK "Important"})

Anything coming after this command and before the next @{"NODE" LINK "Node"} command will
be completely unviewable when reading the document with Amigaguide or
Multiview.


@{JCENTER}=== End of Text ===

@ENDNODE

@NODE "DNode" "How To Write AG - The DNode Command (Pt1)"
@TOC "AGHTW_Index/Contents"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE DNODE COMMAND

All Versions - LOCAL Command@{UU}@{UB}
@{JLEFT}
This said to refer to a "Dynamic Node". 

To the best of my knowledge there is no way to use it when authoring normal
Amigaguide documents. Please let @{"me" LINK "AGHTW_Boring_Stuff/Author"} know if there is a way to use it.

I have seen some documents that say it is an obsolete command.


@{JCENTER}=== End of Text ===

































@ENDNODE

@NODE "MainNode" "How To Write AG - The MAIN Header (Pt1)"
@TOC "AGHTW_Index/Contents"
@NEXT "AGHTW_Part2/MakingLinks"

@{B}@{U}@{JCENTER}HOW TO WRITE AMIGAGUIDE DOCUMENTS

THE MAIN NODE AND CALLING DOCUMENTS FROM AMIGAGUIDE/MULTIVIEW@{UB}@{UU}
@{JLEFT}
I said under the @{"Getting Started" LINK "Getting"29} heading that "The one node in the basic
document .... MUST@{UB} be called MAIN as, if there is more than one node,
Amigaguide/Multiview always displays the node called MAIN first".

When Amigaguide/Multiview is first started off with a guide style document,
that document's MAIN node will be sought out and displayed even if it is not
the first node in the document!! If a node called MAIN is @{B}NOT@{UB} found anywhere
in the document then Amigaguide/Multiview will reject the document with an
error message (normally only displayed if Amigaguide/Multiview was started
from a Shell/CLI window).

However, if a guide style document is @{B}NOT@{UB} the first one read by Amigaguide
or Multiview but is one called from within another guide style document that
is already being displayed by Amigaguide/Multiview then a MAIN node is @{B}not
necessary@{UB}. The previous guide style document can call up @{B}ANY @{UB}node in the
document being called.

When I first split this guide from one document into a number of smaller
ones, I started off by @{B}NOT@{UB} having a MAIN node in the subsidiary documents
and it seemed to work quite well in all versions.

However, I then found that, in version 39 & 40, if the Multiview menu item
"Project/Open" was used to load a file that did @{B}NOT@{UB} have a MAIN node, a
blank window would result. (There is no similar menu item in version 34.)

So then I put a MAIN node into each of the subsidiary files even though they
would not be seen in the normal course of events. Anyway, it does mean that
you can now load any of them individually without first loading the INDEX
file.

I would advise that you think very carefully about how the documents are to
be used before you decide not to include a MAIN node!


@{JCENTER}=== End of Text ===







































@ENDNODE
