home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 45
/
Amiga_Dream_45.iso
/
Atari
/
Docs
/
ST-Guide
/
st-gui12.lzh
/
ST-GUIDE
/
DOK
/
ST-GUIDE.STG
< prev
Wrap
Text File
|
1995-02-03
|
42KB
|
1,158 lines
##ACE-STGPAR 4 0004
@database "ST-Guide Dokumentation"
@subject "Dokumentation/ST-Guide"
@author "H. Weets, C. Wempe"
##CHANGED
@$VER: st-guide.hyp 1.00 (@:"__DATE__")
@help "Hilfsseite"
@options +gz-s
@extern HCP "hcp.hyp/Main"
@extern 1stConv "1st_conv.hyp/Main"
@extern PC-Conv "pc_conv.hyp/Main"
@extern RefLink "reflink.hyp/Main"
@extern STool "stool.hyp/Main"
@extern MAN2STG "man2stg.hyp/Main"
@node Main "Dokumentation des ST-Guide"
@next Main
@prev Main
@symbol r ST-Guide
Dokumentation zum Fairware-Hypertext-System.
@{Inhalt: ignore}
Allgemeines
Die Philosophie
@{"Die Vorteile" Link Vorteile}
Rechtliches
Verwendete Software
Konfiguration
@{Dateitypen link HCP.HYP/Dateitypen}
Danksagung
Das Anzeigeprogramm ST-Guide
Knöpfe
Tastatur
@{"Der ST-Guide und das PureC-Help-ACC" link PureC}
@{"Der ST-Guide und das AV-Protokoll" link AVProtokoll}
@{"Der ST-Guide und der 1stGuide" link 1stGuide}
Weitere Programme
Der Compiler HCP
Der Referenz-File Linker RefLink
Der Konverter 1stConv
Der Konverter PC-Conv
Das Utility STool
Der Manual-Page Konverter MAN2STG
@endnode
@node Philosophie
@prev Philosophie
@toc Main
Kein Mensch liest heute Anleitungen, weil sie zu lang, zu un-
übersichtlich oder zu uninteressant sind, aber vor allem deshalb, weil
man nie das findet, woran man gerade interessiert ist.
Abhilfe schafft hier ein Hypertext-System, denn der Leser bekommt den
Text in übersichtlicher Form und in kleinen Häppchen präsentiert,
insbesondere sind bei entsprechender Aufmachung des Textes alle Punkte
schnell durch ein paar Mausklicks zu ereichen.
Wichtig scheint mir in diesem Zusammenhang auch die Tatsache, da₧ ein
Hypertext in einer Form erzeugt werden kann, in der er den Fachmann nicht
langweilt und den Anfänger nicht überfordert.
Natürlich gibt es auch noch andere Hypertext-Systeme für den ST, jedoch
ist unseres
- völlig kostenlos und kann von jedermann verwendet werden
- das flexibelste und umfangreichste von allen.
So ein Hypertextsystem wie dieses ist natürlich nicht nur dafür geeignet,
Dokumentationen und Online-Hilfen zu Programmen zu schreiben. Es ist genau
so gut möglich, hiermit auch andere Texte zu schreiben. Sinnvoll ist dies
bei jeder Art von Text, in dem Querverweise vorkommen. Besonders
interessant sind natürlich Texte über das Betriebssystem, die
Programmierung und die Benutzung des ST. Aber auch Themen aus anderen
Sachgebieten, wie Biologie, Musik, Mathematik usw. sind durchaus denkbar.
@endnode
@node Vorteile "Die Vorteile dieses Systems"
@toc Main
@{U}Anmerkung:@{0}
Dieser Teil der Dokumentation wurde mir freundlicherweise von Volker
Burggräf zu Verfügung gestellt.
Abgesehen vom grundsätzlichen Vorteil von Hypertexten - der Möglichkeit
der Querverweise und Verzweigungen - besitzt der ST-Guide aber auch
klare @{U}Vorteile gegenüber anderen Hypertext-Systemen:@{0}
@{B}Davon profitieren Sie beim Lesen von Hypertexten:@{0}
- Umfangreiche Grafik-Fähigkeiten
- Geringer Speicherverbrauch auf der Diskette/Festplatte
- Geringer Speicherverbrauch im Arbeitsspeicher des Computers
- Benutzung sowohl als Accessory wie auch als Programm
- Sie können auch Hypertexte anderer Formate an den ST-Guide anpassen
- Weitgehende Tastatur-Bedienbarkeit (alternativ zur Maus)
- Mehrere Suchfunktionen, darunter auch Ähnlichkeitssuche
- Sogar aus normalen ASCII-Texten kann auf Hilfeseiten verzweigt werden
- wenn GDOS läuft, kann der Anzeige-Zeichensatz selbst ausgewählt werden
- das Programm STOOL katalogisiert alle Ihre Hypertexte automatisch
- Die Benutzung ist kostenlos (Fairware), aber Spenden sind erbeten
@{B}Davon profitieren Sie, wenn Sie selbst Hypertexte schreiben wollen:@{0}
- leicht erlernbare Syntax der Befehle
- Verweise zu anderen Seiten werden vom Compiler @{U}automatisch@{0} erstellt!
- ein Index wird vom Compiler @{U}automatisch@{0} erstellt
- alle Seiten eines Hypertextes befinden sich in einer Datei (kompakt!)
- gro₧e Vielfalt der Gestaltungsmöglichkeiten
@autorefoff
- der ST-Guide taugt als kontextabhängige Online-Hilfe für Programme
@autorefon
- Einbindung der Original-RSC-Files von Programmen möglich
- der ST-Guide ist sehr verbreitet! (sehr gut, aber dennoch kostenlos!)
@endnode
@node Rechtliches
@toc Main
@symbol ai Fairware
Dieses Hypertext-System ist Fairware, d.h. jedermann kann es unbegrenzt
lange kostenlos benutzen und an jede Person weitergeben, vorausgesetzt,
da₧ die Weitergabe kostenlos ist. @{B}Bei regelmä₧iger Benutzung sollte
der Autor jedoch mit einer Spende bedacht werden, da nur so die
Weiterentwicklung dieses Systems gewährleistet ist.@{0}
Der ST-Guide darf als Zusatz zu eigenen Programmpaketen weitergegeben
werden, egal welcher Art diese sind, d.h. auch innerhalb von Shareware und
kommerziellen Progammen, ohne da₧ hierfür Lizenzgebühren fällig werden
(obwohl ein kleine Anerkennung in diesem Fall wohl mehr als fair wäre). Es
mu₧ aber ein Hinweis vorhanden sein, da₧ der ST-Guide Fairware und von mir
ist.
Nett wäre es in diesem Fall, wenn mir eine Disk mit dem betreffenden
Programm und dem zugehörigen Hypertext zugesand würde, quasi als
Belegexemplar.
Da es der Hauptverwendungszweck des ST-Guide ist, Dokumentationen zu
anderen Programmen zu schreiben, darf er in zwei Formen weitergegeben
werden:
a) Vollständig, als komplettes Programmpaket mit allen zugehörigen
Dateien. Diese Form ist auf jeden Fall vorzuziehen, auch wenn die
Weitergabe innerhalb eines anderen Programmpaketes erfolgt.
b) Nur der Viewer und die Dokumentation, falls die Weitergabe
innerhalb eines anderen Programmpaketes erfolgt @{B}und@{b} eine
Dokumentation zu diesem Programm im Format des ST-Guide dabei
ebenfalls mitgeliefert wird.
Soweit die Weitergabe als Zugabe zu irgendwelchen Programmen oder durch
PD-Händler erfolgt, erbitten wir eine kurze Mitteilung darüber, damit wir
a) abschätzen können, wie weit das Paket sich verbreitet, und
b) evtl. Auskunft über Updates geben können.
Natürlich sind wir auch sehr daran interessiert, zu sehen, in welchen
Programmen der ST-Guide verwendet wird. Wem es also möglich ist, kann uns
dann ja auch eine Kopie seines Programmes zukommen lassen.
@index Spenden
Spenden: In diesem Programmpaket steckt inzwischen sehr viel Arbeit.
Trotzdem haben wir uns entschieden es als Fairware zu
veröffentlichen, um jedem zu ermöglichen, damit Dokumentationen
zu seinen Programmen zu schreiben. Es wäre aber nur fair, uns
eine kleine Anerkennung für unsere Arbeit zukommen zu lassen.
Auch kleine Spenden motivieren uns, auch in Zukunft noch an
diesem Projekt zu arbeiten, es zu erweitern und zu verbessern.
Kein Programm ist wirklich fehlerfrei, deshalb können und wollen wir
keinerlei Garantien für die Lauffähigkeit oder Tauglichkeit dieses Paketes
für irgendeinen Zweck übernehmen und können insbesondere nicht haftbar
gemacht werden für irgendwelche Schäden, die durch die Benutzung dieses
Paketes theoretisch entstehen könnten.
@Index "Holgers Adresse"
@ALabel "Adresse"
Für Lob, Kritik, Vorschläge und Spenden sind wir folgenderma₧en
erreichbar:
Holger Weets
Tangastrasse 45
26121 Oldenburg
E-Mail: Holger Weets @ OL (Mausnet)
Bankverbindung:
KTO: 023-182 041
BLZ: 280 501 00
Landessparkasse zu Oldenburg
Wer eine neue Version direkt von mir haben möchte, schicke bitte einen
frankierten Rückumschlag und 10 Mark an diese Adresse. Dieser Betrag dient
mir als Aufwandsentschädigung, denn schlie₧lich habe ich auch etwas
besseres zu tun als Disketten zu kopieren.
@endnode
@node "Verwendete Software"
@toc Main
Folgende Programme wurden zur Implementierung dieses Systemes verwendet:
* @{U}SOZOBON V2.00x10@{u}
als C-Compiler System
Autoren: die SOZOBON-Leute, Christian Wempe und Holger Weets
* @{U}ACE@{u}
als Editor und Programmierumgebung
Autor: Holger Weets
* @{U}RED@{u}
als Resource-Editor
Autor: Holger Weets
* @{U}C-RSC@{u}
als Umwandler der Resourcen in C-Quelltext
Autor: Holger Weets
* @{U}LHarc bzw. dessen Sourcecodes@{u}
als Basis für die Implementierung des Ein- und Auspackens der
Hypertext-Seiten
Autor: Yoshi, Christian Grunenberg
@endnode
@node Konfiguration
@toc Main
Alle Komponenten des ST-Guide können über eine Datei konfiguriert werden,
welche den Namen ST-GUIDE.INF trägt und sich im durch die
Environmentvariable HOME angegebenen Ordner oder im Wurzelverzeichnis des
Bootlaufwerkes befinden mu₧ (meist C:).
Sie ist i.w. so aufgebaut, wie die Environment-Dateien diverser
Auto-Ordner-Environment-Setzer (tolles Wort...).
Folgende Environment-Variablen werden zur Zeit benutzt:
@alabel TABSIZE
* @{B}TABSIZE@{0}
enthält die gewünschte Tabulatorweite. Ist diese Variable nicht
vorhanden, so wird der Wert 8 verwendet.
@alabel WINSIZE
* @{B}WINSIZE@{0}
enthält die Grö₧e des ST-Guide Fensters beim ersten Öffnen desselben.
ist diese Variable nicht vorhanden, so wird das Fenster mit voller
Bildschirmgrö₧e geöffnet.
WINSIZE=100,100,400,200
wird das Fenster des ST-Guide beim ersten Öffnen in die Mitte eines
640x400 Pixel Bildschirmes positionieren.
##CHANGED
@alabel "REFCOLOR"
* @{B}REFCOLOR@{0}
REFCOLOR=<Farbe> setzt die Textfarbe für Referenzen auf <Farbe>. Wird
diese Variable gesetzt, so stellt ST-Guide Referenzen nicht mehr Fett
und Unterstrichen dar, sondern in normaler Schrift mit der angegebenen
Farbe.
Diese Variable wird in monochromen Auflösungen ignoriert.
##CHANGED
@alabel "TXTCOLOR"
* @{B}TXTCOLOR@{0}
TXTCOLOR=<Farbe> setzt die Textfarbe auf <Farbe>.
Diese Variable wird in monochromen Auflösungen ignoriert.
@alabel "PATHS"
* @{B}PATHS@{0}
enthält eine durch Kommata oder Semikoli getrennte Liste von Pfaden,
welche zum Auffinden von Dateien verwendet wird, welche über externe
Referenzen (siehe link) angezeigt werden sollen.
PATHS=c:\guides\;c:\;c:\bin\
wird, falls eine Datei gesucht wird, diese nacheinander in
C:\GUIDES\
C:\
und
C:\BIN\
suchen
@alabel "EXTVIEW"
* @{B}EXTVIEW@{0}
enthält den Namen desjenigen ACC/PRG, welches mit dem Anzeigen von
nicht Hypertext-Dateien beauftragt werden soll, sofern für die Endung
der betreffenden Datei kein Viewer angemeldet wurde. Die Angaben
sollten mit vollständigem Pfad erfolgen, sofern nicht sichergestellt
ist, da₧ der betreffende Viewer bereits läuft (also als ACC
installiert ist)
Ein Viewer für bestimmte Dateiformate wird übrigens installiert durch
<Endung>=Programm (Beipiel: IMG=C:\BIN\1stview.prg)
Der so angegebene Viewer wird bei Bedarf zunächst gesucht und danach
entweder zum Starten an den Desktop weitergegeben oder vom ST-Guide
selbst gestartet, sofern MagiC 2 installiert ist.
Falls weder diese Variable noch die durch die Endung der Datei
vorgegebene Variable existiert, so wird die betreffende Datei im ASCII
Format vom ST-Guide angezeigt.
@alabel "HCP_OPT"
* @{B}HCP_OPT@{0}
enthält die Default-Optionen für den HCP. Diese werden vor dem
Einlesen der Kommandozeile gesetzt und können somit durch direktes
Angeben beim Aufruf überschrieben werden.
@symbol ri "HCP"
* @{B}HCP@{0}
enthält den vollständigen Zugriffspfad des HCP und wird zur Zeit nur
von STool verwendet, falls dessen Option COMPILE eingeschaltet ist.
@symbol ri "HYPFIND"
* @{B}HYPFIND@{0}
enthält den vollständigen Zugriffspfad des HypFind, dem Tool zum
Suchen von Pattern in allen Seiten eines/aller Hypertexte. Diese
Variable wird derzeit nur vom ST-Guide verwendet, wenn der
entsprechende Button im Suchen-Dialog betätigt wird
@alabel "HYPFOLD"
* @{B}HYPFOLD@{0}
enthält den Defaultpfad für Hypertexte. Wird also beim Übersetzen
keine Ausgabedatei angegeben, so erzeugt der HCP die Hypertext-Datei
in dem durch diese Variable angegebenen Verzeichnis. Der ST-Guide
nutzt diese Variable ebenfalls, und zwar als Default-Pfad für den
Fileselektor.
Auch der HypFind erzeugt seine Ausgabedatei in diesem Verzeichnis.
@alabel ARROWPATCH
@{B}ARROWPATCH@{0}
Falls diese Variable definiert ist (Wert ist egal), der ST-GUIDE als
ACC gestartet wird und dies nicht unter einem MultiTask Betriebsystem,
so behebt ST-Guide den bekannten Fehler des Betriebsystems, welcher
bewirkt, da₧ die Scrollpfeile sowie die Pager an Fenstern von ACCs
nicht funktionieren.
Die bessere Alternative zu diesem Patch ist allerdings die
Installation von ARROWFIX oder (besser) WINX im Autoordner. ST-Guide
behebt diesen Fehler nur für sich selbst, alle anderen ACCs werden
damit auch weiterhin Probleme haben!
@alabel "DEFHYP"
* @{B}DEFHYP@{0}
enthält den vollständigen Zugriffspfad der Datei, die beim Aufruf des
ST-Guide @{U}ohne Parameter@{0} automatisch geladen werden soll.
@alabel "HYPTOP"
* @{B}HYPTOP@{0}
enthält den vollständigen Zugriffspfad des Katalog-Hypertextes,
welcher durch STool automatisch erzeugt werden kann. ST-Guide lädt die
hier angegebene Datei automatisch, falls beim ersten Aufruf keine
Parameter angegeben wurden und auch keine Default-Datei definiert ist
(durch DEFHYP)
@alabel "FONT"
* @{B}FONT@{0}
enthält den zu benutzenden Font und die gwünschte Grö₧e in folgendem
Format: FONT,SIZE
Beispiel: 98,9 (GEMINI Bold, kleiner Satz)
Der ST-Guide lädt diese Var. beim Öffnen des Fensters, der Font kann
also zwischen zwei Aktivierungen geändert werden, jedoch nicht solange
das Fenster des ST-Guide geöffnet ist. Wird FONT zu 0 angegeben (z.B.
0,9), dann wird der Systemzeichensatz mit der angegebenen Grö₧e
verwendet.
Prinzipiell funktioniert dies natürlich auch mit Proportional
Zeichensätzen, jedoch stimmen dann die Positionen von Grafik-Objekten
evtl. nicht mehr ganz, da hier in diesem Falle mit einer gemittelten
Zeichenbreite gerechnet wird.
@alabel "REF"
* @{B}REF@{0}
enthält den Pfad & Namen derjenigen REF-Datei, welche vom ST-Guide zum
Auffinden von Begriffen verwendet wird, welche nicht im aktuellen
Dokument definiert wurden. Diese Datei wird auch vom RefLink
defaultmä₧ig für alle Aktionen verwendet.
@{U}Beispiel für den Aufbau einer Zeile dieser Datei:@{0}
...
HYPFOLD=c:\guides\
...
Das ganze ist Zeilenorientiert und es dürfen sich keinerlei überflüssige
Leerzeichen in den Zeilen befinden. Die Syntax ist
<Variable>=<Wert>
Man beachte, da₧ keine Leerzeichen vor oder hinter dem '=' stehen dürfen
und <Wert> @{U}ohne@{0} Hochkommata angegeben wird.
Eine Beispieldatei liegt dem System bei.
@endnode
@node Danksagung
@toc Main
An dieser Stelle möchte ich mich bei ein paar Leuten bedanken:
- @{B}Volker Burggräf@{0}
für die Arbeit, die er durch den Support des Paketes in der Maus OL
hatte, und für seine kreativen und Benutzernahen Anregungen
- @{B}Christoph Zwerschke@{0}
für seine besonders ausgiebigen Tests aller Komponenten und seine
nützlichen Tips
- @{B}Peter Nagel@{0},
@{B}Dirk Theisen@{0},
@{B}Jörg Westheide@{0},
@{B}Frank Rüger@{0},
@{B}Ralf Zimmermann@{0},
@{B}Gregor Duchalski@{0}
und @{B}Christian Grunenberg@{0}
für ihre Bugreports und ihre Werbung sowie die Verbreitung des Systems
- @{B}Peter West@{0}
für die Übersetzung der Dokumentation ins englische
- @{B}Joe Connor@{0}
für die Überarbeitung/Korrektur der englischen Dokumentation sowie den
Support in England
- und natürlich allen Leuten, die mich sonst noch durch nette Post
motiviert haben
@endnode
@node "Knöpfe" "Knöpfe im Fenster"
@toc Main
Die im Fenster des ST-Guide sichtbaren Knöpfe dienen der einfachen
Steuerung des Programmes sowie dem übersichtlichen Blättern im Text.
Folgende Knöpfe existieren:
zurück Inhalt Index
Seite < Seite > Extra
Siehe auch unter Tastatur.
@endnode
@node Tastatur "Tastaturbelegung"
@toc Main
* Cursortasten - Zeilen/Spaltenweise scrollen
(wie Scrollpfeile am Fenster)
* Shift Cursortasten - Seitenweise scrollen
(wie Klicks über/unter/neben die Slider)
* Ziffernblock -
* Control-Cursor hoch - zum vorigen Knoten
* Ziffernblock +
* Control-Cursor runter - zum nächsten Knoten
(wie Knopf [Seite >])
* Escape, Undo - zur übergeordneten Seite
(wie Knopf [zurück])
* Home - zum Anfang der aktuellen Seite
(wie Slider ganz nach oben schieben)
* Shift-Home - zum Ende der aktuellen Seite
(wie Slider ganz nach unten schieben)
* Tab - Markierung auf nächste Referenz setzen
(zyklisch)
* Shift-Tab - Markierung auf vorige Referenz setzen
(zyklisch)
* Return, Enter - markierte Referenz anzeigen
* ALT-T - Inhalts-Seite zeigen
(wie Knopf [Inhalt])
* ALT-X - Indexseite zeigen
(wie Knopf [Index])
* CTR-I - Programm Information (wie Extra/Info)
* Help - zeigt Hilfsseite des aktuellen Textes
(wie Extra/Hilfe)
* ALT-K - Katalog laden (wie Extra/Katalog)
* CTR-O - Datei laden (wie Extra/Laden)
SFT-CTRL-O - wie CTRL-O, nur mit *.* als Pattern im
erscheinenden Fileselektor
* CTR-F - Pattern suchen (wie Extra/Suchen)
* CTR-G - Pattern erneut suchen
(wie Extra/Weitersuchen)
* ALT-M - Marke setzen (wie Extra/Marke setzen)
* ALT-G - gehe zu Marke (wie Extra/gehe zu Marke)
* ALT-E - Stack löschen (wie Extra/Stack löschen)
* CTR-C - aktuelle Seite ins Clipboard kopieren
(wie Extra/Copy)
* CTR-V - Inhalt des Clipboard ins Fenster laden
(wie Extra/Paste)
* CTR-P - aktuelle Seite drucken
(wie Extra/Seite drucken)
* CTR-Q, CTR-U - ST-Guide schliessen
(wie Closer am Fenster anklicken)
@endnode
@node PureC "Der ST-Guide und das PureC-Help-ACC"
Damit der Umstieg auf den ST-Guide leichter fällt, wurde er voll
kompatibel zum PureC-HelpACC gemacht, zumindest was die Meldungen angeht,
d.h. der ST-Guide versteht alle Meldungen, die auch das PureC-ACC
auswerten kann und beantwortet sie entsprechend.
Das bedeutet insbesondere, da₧ Programme, welche das PureC-ACC
unterstützen, automatisch auch mit dem ST-Guide arbeiten, hierzu ist der
Guide lediglich in "PC_HELP.ACC" umzubenennen, damit die Programme ihn
auch als solchen erkennen und ansprechen.
Für Programmierer interessant ist hierzu die @{"Liste der Meldungen" link "PureC-Protokoll"}.
Ein Konvertierungsprogramm für PureC-Helptexte ist Teil des Systemes und
trägt den Namen PC-Conv.
@endnode
@node AVProtokoll "Der ST-Guide und das AV-Protokoll"
Das AV-Protokoll stammt ursprünglich von GEMINI, hat jedoch mittlerweile
eine sehr weite Verbreitung gefunden, so da₧ es mir sinnvoll erschien,
dieses zu unterstützen.
Für Programmierer interessant ist hierzu die @{"Liste der Meldungen" link "AV-Protokoll"}.
@endnode
@node 1stGuide "ST-Guide und 1stGuide"
@next 1stGuide
Ein alternatives, schon länger auf dem Markt befindliches Hyper-
text-System ist der 1stGuide von Guido Vollbeding.
Um den Umstieg von diesem auf unser System zu erleichtern, wurde ein
Konvertierungsprogramm Namens 1stConv geschrieben, welches die für den
1stGuide verwendbaren Texte in das ST-Guide Format umwandeln kann.
Da der 1stGuide ebenfalls das AV- und das PureC-Help Protokoll beherrscht,
kann dieser einfach gegen den ST-Guide ausgetauscht werden.
@endnode
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@node "Knopf [zurück]"
@prev "Knopf [zurück]"
@toc "Knöpfe"
@alias "zurück"
Dieser Knopf ist immer dann auswählbar, wenn bereits mindestens einer
Referenz gefolgt wurde, d.h. wenn ein im Text fett und unterstrichen
dargestellter Begriff gewählt und daraufhin eine neue Seite dargestellt
wurde.
Nach Betätigung dieses Knopfes zeigt der ST-Guide jeweils die Seite erneut
an, aus der in die aktuelle Seite gesprungen wurde.
Der Stack ist als Ringbuffer organisiert und umfa₧t jeweils die letzten 16
Verzweigungen.
@endnode
@node "Knopf [Inhalt]"
@toc "Knöpfe"
@alias "Inhalt"
Nach Betätigung dieses Knopfes zeigt der ST-Guide die (physikalisch)
erste Seite des aktuellen Hypertextes an, diejenige also, auf der sich das
Inhaltverzeichnis befinden sollte.
Wurde allerdings in der aktuellen Seite per '@toc' eine andere Seite als
Inhaltsverzeichnis definiert, so wird diese Seite gezeigt.
Zur vorher aktuellen Seite kann per 'zurück' zurückgekehrt werden.
@endnode
@node "Knopf [Index]"
@toc "Knöpfe"
@alias "Index"
Nach Betätigung dieses Knopfes zeigt der ST-Guide die Seite des aktuellen
Textes an, welche den Namen <Index> trägt, die Indextabelle also. Diese
wird wahlweise automatisch vom HCP oder manuell vom Autor des Textes
erzeugt.
Auf dieser Seite befinden sich Stichwortartig alle wichtigen Begriffe
des Hypertextes, zu denen natürlich per Mausklick gesprungen werden
kann.
@endnode
@node "Knopf [Seite <]"
@toc "Knöpfe"
@alias "Seite <"
Nach Betätigung dieses Knopfes zeigt der ST-Guide die Seite, welche durch
die '@prev' Direktive bzw. die Anordnung der Seiten im Quelltext als
Vorgängerseite definiert wurde.
Per Tastatur geht das mit CTRL-UP oder '-' auf dem Ziffernblock.
@endnode
@node "Knopf [Seite >]"
@toc "Knöpfe"
@alias "Seite >"
Nach Betätigung dieses Knopfes zeigt der ST-Guide die Seite, welche durch
die '@next' Direktive bzw. die Anordnung der Seiten im Quelltext als
Nachfolgerseite definiert wurde.
Per Tastatur geht das mit CTRL-DN oder '+' auf dem Ziffernblock.
@endnode
@node "Knopf [Extra]"
@next "Knopf [Extra]"
@toc "Knöpfe"
@alias Extra
Bei Klick auf den Knopf mit der Aufschrift 'Extra' erscheint ein
Popup-Menue mit folgender Auswahl:
* Info CTR-I
* Hilfe Help
* Katalog ALT-K
* Font ALT-Z
* Laden CTR-O
* Suchen CTR-F
* Weitersuchen CTR-G
* Marke setzen ALT-M
* gehe zu Marke ALT-G
* Stack löschen ALT-E
* Copy CTR-C
* Paste CTR-V
* Seite drucken CTR-P
Alle per Tastatur erreichbaren Funktionen sind entsprechend ge-
kennzeichnet
@endnode
@node "Extra/Font"
@prev "Extra/Font"
@toc "Knopf [Extra]"
@alias Font
Falls ein Fontselektor (z.B. FontSel oder [X]UFSL) im Autoordner
installiert ist, so erscheint dieser bei Auswahl des Menuepunktes Font.
Hier kann ein beliebiger Zeichensatz gewählt werden, mit dem der ST-Guide
den Text in seinem Fenster anzeigen soll.
Falls kein Fontselektor installiert ist, so erscheint eine entsprechende
Meldung, und falls kein GDOS installiert ist, kann nur der
Systemzeichensatz zur Darstellung verwendet werden.
@endnode
@node "Extra/Katalog"
@toc "Knopf [Extra]"
@alias Katalog
Mit dieser Funktion kann die von STool erzeugte Katalog-Datei nachgeladen
werden. Genaugenommen wird die Datei, die durch die Variable HYPTOP
festgelegt wurde, nachgeladen.
@endnode
@node "Extra/Stack löschen"
@toc "Knopf [Extra]"
@alias "Stack löschen"
Diese Funktion löscht den Stack, auf dem die Seiten abgelegt werden, zu
denen per 'zurück' hingelangt werden kann.
@endnode
@node "Extra/Hilfe"
@toc "Knopf [Extra]"
@alias Hilfe
Falls per @help eine Hilfsseite angegeben wurde, so wird diese, ansonsten
eine Seite Namens 'Help' im aktuell geladenen Text gesucht und zeigt
diese an, falls sie gefunden wird. Der Sinn der Sache ist das schnelle
Auffinden einer kurzen Zusammenfassung des Inhaltes eines Hypertextes,
weshalb jeder Text eine solche Seite enthalten sollte.
@endnode
@node "Extra/Weitersuchen"
@toc "Knopf [Extra]"
@alias Weitersuchen
@index Weitersuchen
Durch diese Funktion wird die aktuelle Seite erneut nach dem zuletzt
verwendeten Muster durchsucht, die Suche beginnt jedoch in der zweiten
sichtbaren Zeile des Fensters, damit nicht erst gescrollt werden mu₧, um
die Suche fortführen zu können.
@endnode
@node "Extra/Suchen"
@toc "Knopf [Extra]"
@symbol ai Suchen
Bei Auswahl dieser Funktion erscheint ein Dialog, in dem ein Suchbegriff
eingegeben werden kann.
Dieser Begriff kann folgenderma₧en gesucht werden:
1. @{U}in der aktuellen Indextabelle@{0}
Bei dieser Suchart können Wildcards verwendet werden und der Vergleich
erfolgt @{"case insensitive" link ins}.
@symbol ai Trefferliste
Wird mehr als ein Treffer gefunden, so erscheint ein Dialog, in dem
alle passenden Namen aufgeführt sind. Der gewünschte Begriff kann hier
durch Mausklick oder Tastatur ausgewählt werden. Hierzu ist immer eine
der Trefferzeilen selektiert,
Return wählt diese Zeile aus
Cursor Up setzt die Selektierung auf die vorige Zeile
Cursor Down setzt die Selektierung auf die nächste Zeile
Undo wirkt wie der Abbruch-Button
Shift Up zeigt die vorige Seite der Liste
Shift Dn zeigt die nächste Seite der Liste
Home zeigt die erste Seite der Liste
Shift Home zeigt die letzte Seite der Liste
Der Slider bewirkt (natürlich) Onlinescrolling und funktioniert
ansonsten wie in einem GEM-Fenster.
Die Trefferzeilen enthalten jeweils den Namen der Seite sowie das Thema
des zugehörigen Hypertextes. Wird als Treffer ein Verweis innerhalb
einer Seite gefunden, so wird dieser hinter dem Namen der Seite, durch
einen Punkt getrennt ebenfalls gezeigt.
@symbol ai Ähnliche
@symbol a ähnliche
Wird kein exakter Treffer gefunden, jedoch ähnliche Begriffe, so werden
diese zur Auswahl gestellt. Ähnlich ist hierbei wie folgt definiert:
- Gro₧/Kleinschreibung wird ignoriert
- 'ä' wird wie 'ae' behandelt, 'ü' wie 'ue' etc.
- '*' passt auf beliebig viele Zeichen
- '?' passt auf genau ein Zeichen
- abhängig von der Länge des Suchwortes dürfen sich ein paar
Zeichen unterscheiden ('option' passt auf 'optoin')
2. @{U}in der Default-Referenzdatei@{0}
Der eingegebene Begriff wird in der durch die Variable 'REF'
angegebenen Datei gesucht, ansonsten ist diese Suchart identisch mit 1.
3. @{U}in der aktuellen Seite@{0}
Der eingegebene Begriff wird in der aktuellen Seite ab der ersten
sichtbaren Zeile bis zum Textende in allen Zeilen gesucht. Wird er
gefunden, so wird die entsprechende Zeile neue erste Zeile des
Fensters. Die Suche erfolgt ebenfalls case insensitive und kann durch
die Funktion 'Weitersuchen' wiederholt werden.
4. @{U}In allen Seiten [aller Hypertexte]@{u}
Für diese Art der Suche bedient sich der ST-Guide eines externen Tool
Namens HypFind, welches dem Paket beiliegt und über die Variable
HYPFIND definiert sein mu₧.
Die Suche erfolgt case insensitiv und das Tool erzeugt als Ausgabe eine
Trefferliste in Form eines Hypertextes, der vom ST-Guide nach der
Terminierung von HypFind automatisch nachgeladen wird. Damit HypFind
aufgerufen werden kann ist
- entweder MagiC installiert, dann startet ST-Guide das Tool selbst, oder
- es wird ein AV-Desktop verwendet, wie z.B. Thing oder Gemini (evtl.
funktioniert das auch mit Ease), in diesem Fall beauftragt ST-Guide den
Desktop mit dem Starten von HypFind
Alle Anwender, bei denen keine der beiden Bedingungen erfüllt sind,
können HypFind nur von Hand starten.
@endnode
@pnode ins
@noref
'case insensitive' bedeutet, da₧ Gro₧buchstaben wie Klein-
buchstaben behandelt werden und umgekehrt.
'TEST', 'test' und 'Test' sind danach identische Pattern.
@endnode
@node "Extra/Info"
@toc "Knopf [Extra]"
@alias Info
@index Info
Diese Funktion zeigt einen Dialog, aus dem Name des Programmes,
Versionsnummer sowie der Autor und dessen Adresse zu entnehmen sind.
@autorefoff
Au₧erdem findet sich hier ein Knopf mit der Aufschrift 'Hilfe', bei dessen
Betätigung die Onlinehilfe zum ST-Guide nachgeladen und gezeigt wird.
@autorefon
Angezeigt werden hier aber auch relevante Informationen zur aktuell
angezeigten Datei, dieses sind Autor, Thema, Dateiname und Version des
Textes, alle Angaben werden natürlich nur gezeigt, sofern sie im Hypertext
angegeben wurden (@author, @database, @@$VER:).
@endnode
@node "Extra/Laden"
@toc "Knopf [Extra]"
@alias Laden
@index Laden
Mit dieser Funktion kann ein Hypertext oder eine ASCII-Datei geladen
werden, die Erkennung erfolgt dabei automatisch. Es erscheint hierzu ein
Fileselektor, in dem die gewünschte Datei ausgewählt werden kann, wonach
sie, falls ausreichend Speicher vorhanden ist, geladen wird.
Der voreingestellte Pfad für den Selektor wird folgenderma₧en gewählt:
1. Variable HYPFOLD, falls diese existiert,
2. Pfad der zuletzt geladenen Datei, falls HYPFOLD nicht ex. oder
3. aktueller Pfad, falls noch keine Datei geladen und HYPFOLD nicht ex.
Fall es sich bei der gewählten Datei nicht um einen Hypertext handelt,
verfährt ST-Guide folgenderma₧en:
1. in der INF-Datei wird die Endung dieser Datei als Variable gesucht
(also "IMG=" für eine Datei Namens BILD.IMG)
2. falls 1. fehlschlägt, wird die Variable EXTVIEW in der INF-Datei gesucht
3. falls 1. und 2. erfolglos waren, zeigt ST-Guide die Datei selber im
ASCII Format an, ansonsten wird das zugewiesene Programm zunächst unter
den bereits laufenden Applikationen gesucht, und falls es dort nicht
gefunden wird, so beauftragt ST-Guide den Desktop mit dem Start des
betreffenden Programmes. Letzteres funktioniert allerdings nur, wenn
der verwendete Desktop über entsprechende Funktionen verfügt, d.h. da₧
AV Protokoll implementiert hat.
Falls ein AV-Desktop verwendet wird, kann die anzuzeigende Datei auch
direkt auf das Fenster des ST-Guide gezogen werden.
@endnode
@node "Extra/Seite drucken"
@toc "Knopf [Extra]"
@alias "Seite drucken"
@index "drucken"
Diese Funktion macht genau das, was man von ihr erwarten sollte, nämlich
die aktuelle Seite als ASCII-Text auf den Drucker ausgeben.
@endnode
@node "Extra/Paste"
@toc "Knopf [Extra]"
@alias Paste
@index Paste
Durch Betätigung dieses Knopfes wird der ST-Guide veranlasst, die Datei
SCRAP.TXT vom Clipboard zu laden, falls möglich, und sie dann im Fenster
anzuzeigen.
@endnode
@node "Extra/Marke setzen"
@toc "Knopf [Extra]"
@alias "Marke setzen"
Marke auf aktuelle Seite setzen.
@endnode
@node "Extra/gehe zu Marke"
@toc "Knopf [Extra]"
@alias "gehe zu Marke"
Zur gesetzten Marke springen.
@endnode
@node "Extra/Copy"
@next "Extra/Copy"
@toc "Knopf [Extra]"
@alias Copy
@index Copy
Diese Funktion schreibt die aktuelle Seite als ASCII-Text ins Clipboard
und stellt sie damit allen anderen GEM-Applikationen zur Verfügung. Falls
noch kein Clipboard existiert, so wird eines erzeugt, und zwar wie üblich
auf dem Bootlaufwerk als Ordner CLIPBRD.
@endnode
@node AV-Protokoll "Das AV-Protokoll"
@toc AVProtokoll
@next AV-Protokoll
@prev AV-Protokoll
Der grundsätzliche Aufbau einer solchen Meldung ist:
buffer[0] = <Meldungs-Typ> (z.B. VA_START)
buffer[1] = <Sender-ID> (von appl_init())
buffer[2] = 0 ('Überlänge')
buffer[3] = <Kontrolltasten> (SENDKEY)
<Fenster-Handle> (ACCWINDOPEN)
<Fenster-Handle> (ACCWINDCLOSED)
<Fenster-Handle> (DRAGACCWIND)
Zeiger auf Pfad (High) (STARTPROG)
buffer[4] = <gedrückte Taste> (SENDKEY)
Zeiger auf Pfad (Low) (STARTPROG)
<Maus-X-Pos.> (DRAGACCWIND)
0 (alle anderen)
buffer[5] = <Zeiger auf Zeile> (High) (STARTPROG)
<Maus-Y-Pos.> (DRAGACCWIND)
0 (alle anderen)
buffer[6] = <Zeiger auf Zeile> (Low) (STARTPROG)
<Zeiger auf Pfad> (High) (DRAGACCWIND)
0 (alle anderen)
buffer[7] = <Zeiger auf Pfad> (Low) (DRAGACCWIND)
0 (alle anderen)
Folgende Meldungen werden erkannt/verwendet:
@symbol ai VA_START
* @{B}VA_START@{0}: (0x4711)
@{U}APP -> ACC@{0}: "erwache aus deinem Schlaf und beginne mit der Arbeit";
@{U}ACC -> APP@{0}: evtl. AV_ACCWINDOPEN, nachdem das Fenster geöff-
net und die evtl. angegebene Datei geladen wurde. Falls eine
Kommandozeile angegeben wurde und sich mehr als ein Argument darin
befindet, so wird alles ab dem ersten Leerzeichen als Name der
anzuzeigenden Seite interpretiert.
Laut AV-Doku müssen alle Dateinamen in Gro₧buchstaben und mit
vollständigem Pfad angegeben werden. Um diesem Umstand Rechnung zu
tragen und trotzdem zuzulassen, da₧ die aufrufende Applikation nicht
wei₧, wo sich der Hypertext befindet, wurde als Spezialfall das
'Laufwerk' "*" implementiert: Angabe von "*:\AES.HYP" veranla₧t den
ST-Guide, die Datei AES.HYP auf allen angegebenen Pfaden zu suchen.
Aufruf mit 'C:\AES.HYP appl_init' würde also AES.HYP laden und daraus
die Seite <appl_init> anzeigen.
Aufruf mit 'C:\AES.REF appl_init' würde den Begriff <appl_init> in der
Datei AES.REF suchen und im Erfolgsfall die Datei AES.HYP laden und daraus
die Seite anzeigen, in der das gesuchte Symbol definiert wurde.
Aufruf mit 'C:\AES.HYP' würde die angegebene Datei laden und die erste
Seite aus ihr darstellen.
Aufruf mit 'appl_init' würde diesen Begriff in der durch 'REF'
angegebenen Datei suchen und die passende Seite aus der betreffenden
Datei darstellen
@symbol ai VA_DRAGACCWIND
* @{B}VA_DRAGACCWIND@{0}: (0x4725)
APP -> ACC: "es wurde eine Datei auf eines deiner Fenster gezogen,
hier hast du den Pfad"; der Guide lädt daraufhin die so angegebene
Datei und zeigt sie im Fenster an. Auch hier mu₧ der vollständige
Zugriffspfad angegeben werden.
@symbol ai AV_SENDKEY
* @{B}AV_SENDKEY@{0}: (0x4710)
ACC -> APP: "es wurde eine Taste gedrückt, mit der ich nichts anfangen
kann, hier hast du sie"; hierdurch wird die Benutzung aller
Shortcuts der Applikation ermöglicht, auch wenn das ACC Besitzer des
obersten Fensters ist.
@symbol ai AV_STARTPROG
* @{B}AV_STARTPROG@{0}: (0x4723)
ACC -> APP: "starte mal das in dieser Meldung angegebene Programm mit
der ebenfalls evtl. angegebenen Kommandozeile"; Der Guide benutzt
diese Meldung für die Ausführung von SYSTEM Anweisungen. Thing und
GEMINI unterstützen hier auch die Angabe von nicht ausführbaren
Dateien, für deren Endung dann ein Programm gesucht und gestartet
wird.
APP -> ACC: VA_PROGSTART, wird vom Guide jedoch ignoriert.
@symbol ai AV_ACCWINDOPEN
* @{B}AV_ACCWINDOPEN@{0}: (0x4724)
ACC -> APP: "ich habe gerade ein Fenster geöffnet"; da das Handle
dieses Fensters mitgeliefert wird, dient es u.a. dem Zweck, das
Window-Cycling der Hauptapplikation auf die Fenster der ACC's
auszuweiten oder dem ACC zu melden, wenn Objekte auf eines seiner
Fenster gezogen wurden (siehe VA_DRAGACCWIND);
@symbol ai AV_ACCWINDCLOSED
* @{B}AV_ACCWINDCLOSED@{0}: (0x4726)
ACC -> APP: "ich habe gerade eines meiner Fenster geschlossen";
Gegenstück zu ACCWINDOPEN.
@symbol ai AV_EXIT
* @{B}AV_EXIT@{0}:
ACC -> APP: "ich melde mich ab - und Tschü₧"
@symbol ai AV_PROTOKOLL
*@{B}AV_PROTOKOLL@{0}:
ACC -> APP: "hier bin ich"
@endnode
@node PureC-Protokoll "Das PureC-Help Protokoll"
@toc PureC
@next PureC-Protokoll
@prev PureC-Protokoll
Der grundsätzliche Aufbau einer solchen Meldung ist:
buffer[0] = <Meldungs-Typ> (z.B. AC_HELP)
buffer[1] = <Sender ID> (von appl_init)
buffer[2] = <Versionsnummer> (bei AC_REPLY)
0 (alle anderen)
buffer[3] = Zeiger auf Suchwort (High) (bei AC_HELP)
<Handle des ACC-Fensters> (bei AC_REPLY)
0 (alle anderen)
buffer[4] = Zeiger auf Suchwort (Low) (bei AC_HELP)
0 (alle anderen)
buffer[5] = 0x1993 (evtl. bei AC_HELP)
0 (alle anderen)
buffer[6] = Zeiger auf Indexdatei (High) (falls AC_HELP und 0x1993)
0 (sonst)
buffer[7] = Zeiger auf Indexdatei (Low) (falls AC_HELP und 0x1993)
0 (sonst)
@symbol ai AC_HELP
* @{B}AC_HELP@{0} (1025)
@{U}APP -> ACC@{0}: "zeige mal die Infos zum angegebenen Begriff"
@{U}ACC -> APP@{0}: AC_REPLY (siehe dort), nachdem die passende Datei
dazu gesucht und die gewünschte Seite angezeigt, bzw. die Suche
erfolglos abgebrochen wurde.
Die Suche nach dem Begriff erfolgt in der durch 'REF' bzw. der in der
Meldung angegebenen Datei. Gefunden werden auch ähnliche Begriffe.
@symbol ai AC_REPLY
* @{B}AC_REPLY@{0} (1026)
@{U}ACC -> APP@{0}: Antwort auf alle Meldungen;
@symbol ai AC_VERSION
* @{B}AC_VERSION@{0} (1027)
@{U}APP -> ACC@{0}: "sag mir, welche Versionsnummer Du trägst"
@{U}ACC -> APP@{0}: AC_REPLY (siehe dort)
@symbol ai AC_COPY
* @{B}AC_COPY@{0} (1028)
@{U}APP -> ACC@{0}: "schreibe mal die aktuelle Seite ins Clipboard"
@{U}ACC -> APP@{0}: AC_REPLY (siehe dort), nachdem die aktuelle Seite
als ASCII-Text (SCRAP.TXT) ins Clipboard geschrieben wurde.
@endnode
@node "Grafik-Fähigkeiten"
@prev "Grafik-Fähigkeiten"
@toc Vorteile
Der ST-Guide besitzt allerhand grafische Features:
- Popup-Nodes als Alternative zu den normalen Seiten
- Inline-Images (in eine Seite eingebundene Grafiken)
- Linien, Pfeile und verschiedene Boxentypen
- Unterschiedliche Text-Attribute
@endnode
@pnode "Popup-Nodes"
Dies ist ein Beispiel für
eine @{B}Popup-Node.@{0}
Pnodes dienen für kurze
Erklärungen zu bestimmten
Begriffen, ohne da₧ dabei
ein neues Fenster geöffnet
werden mu₧.
@endnode
@pnode "Text-Attribute"
normal
@{B}fett@{0}
@{U}unterstrichen@{0}
@{I}kursiv@{0}
@{G}hell@{0}
@{O}umrandet@{0}
@{S}schattiert@{0}
@endnode
@node "Diskette/Festplatte"
@toc Vorteile
Der ST-Guide geht sehr sparsam mit Ihren Massenspeichern um:
- Der Compiler ist in der Lage, Hypertexte zu packen, also ihren
Platzbedarf zu verringern. Dazu benutzt der den LH5-Algorithmus,
den auch der Packer LHARC verwendet. Auf diese Weise können
Hypertexte um bis zu zwei Drittel verkleinert werden. Beim Ansehen
des Hypertextes werden die gepackten Seiten ohne spürbaren Zeitverlust
wieder ausgepackt und auf dem Bildschirm angezeigt.
- Ein weiterer Platzvorteil ergibt sich aus der Tatsache, da₧ ein
Hypertext immer als eine Datei gespeichert wird:
Bei Hypertext-Systemen, die für jede Hilfeseite eine neue Datei anlegen,
entsteht der Nachteil, da₧ jede dieser Dateien - sei sie auch noch so
klein - mindestens 1024 Bytes an Disk-/Plattenspeicher verbraucht.
Enthält ein Hypertext viele Seiten <1024 Bytes, so erhöht sich der
tatsächliche Speicherbedarf um ein vielfaches.
Beim ST-Guide dagegen wird nur soviel verbraucht, wie die Seite selbst
beträgt (bzw. noch weniger, siehe oberen Spiegelstrich)!
@endnode
@node "Arbeitsspeicher"
@toc Vorteile
Der Arbeitsspeicher Ihres Computers wird nur wenig belastet:
- das ST-Guide.ACC selbst ist sehr kurz, viel kürzer als andere vom
Leistungsumfang her vergleichbare Programme
- Zwar sind Hypertexte immer als eine komplette Datei abgespeichert,
bei der Anzeige wird aber nur ein kleiner Teil davon in den RAM-
Speicher geladen, nämlich nur die gerade anzuzeigende Seite!
Damit "blockiert" der ST-Guide keinen nennenswerten Teil Ihres
Arbeitsspeichers.
@endnode
@node "Accessory"
@toc Vorteile
Ob Sie den ST-Guide als Accessory oder als Programm starten wollen,
bleibt Ihrer freien Entscheidung überlassen. Bei Bedarf einfach
umbenennen!
Um den ST-Guide aber möglichst uneingeschränkt nutzen zu können,
empfiehlt sich der Einsatz als Accessory. So kann er auch aus anderen
Programmen heraus aufgerufen werden.
@endnode
@node "ASCII"
@next "ASCII"
@toc Vorteile
Selbst dann, wenn die angezeigte Datei nur reinen ASCII-Text enthält,
können Sie mit dem ST-Guide auf andere Texte verzweigen.
Das geht so: Wenn Sie einen Begriff anklicken, der auch irgendwo als
Hilfeseite vorliegt, findet der ST-Guide diese Seite und zeigt sie an.
Dazu mu₧ dieser Begriff nicht besonders hervorgehoben sein, es kommt
lediglich darauf an, da₧ die angeklickte Zeichenkette gefunden wird.
Existiert sie nicht, so sucht der ST-Guide nach ähnlichen Begriffen
und zeigt eine Liste der gefundenen Verweise an.
@endnode
@node Hilfsseite
@next Hilfsseite
@prev Hilfsseite
@toc Main
Dieser Text stellt die Dokumentation des vorliegenden Hypertext-Sytemes
dar und beschreibt die Funktionsweise und Anwendung aller zu diesem System
gehörenden Komponenten.
An dieser Stelle sei aus aktuellem Anla₧ noch einmal erwähnt, da₧ der
ST-Guide Fairware ist, um Spenden in jeder Höhe also ausdrücklich
gebeten wird, um die Weiterentwicklung dieses Programmes zu
gewährleisten (ich freue mich auch über kleine Spenden...)
Kritik und Anregungen an
Holger Weets
Tangastr. 45
26121 Oldenburg
E-Mail: Holger Weets @ OL (Mausnet)
Spenden: Landessparkasse zu Oldenburg
Kto.: 023-182 041
BLZ.: 280 501 00
@endnode