# Help (Dateiformat)

Help ist ein Dateiformat für Hilfeseiten in Programmen unter Apples Betriebssystem macOS. Es basiert wie andere macOS-Pakete auf einem Ordnersystem und ist daher in mehrere Einzeldateien gegliedert.
Die Help-Datei befindet sich in der Regel im Resources-Ordner einer .app-Datei und basiert auf mehreren HTML-, CSS- sowie JavaScript-Dateien. Daher basiert die Hilfeseite einer App vollkommen auf Webtechniken mit der Ausnahme, dass die HTML-Dateien nicht in einem Browser, sondern in einem Cocoa-GUI-Fenster geöffnet werden. Das Fenster wird nicht im aktuellen Programm, sondern in einem globalen systemweiten "Hilfeprogramm" geöffnet. Dieses wird allerdings als versteckter Prozess ausgeführt und ist somit weder mit einem eigenen Menu ausgestattet, noch ist es über den Shortcut "ALT-CMD-ESC" schließbar. Hat man zum Beispiel eine Hilfedatei eines Programmes offen und öffnet die eines weiteren, wird kein neues Fenster geöffnet, sondern der Inhalt des ersten ersetzt. Ebenso wie eine .app- oder .framework-Datei unter OS X gibt es zunächst einen Contents- und anschließend einen Resources-Ordner. In diesem befinden sich dann die HTML-Dateien.
Für jede Sprache, die OS X bekannt ist, existiert ein eigener Ordner. Dessen Name besteht aus dem Kürzel für die Sprache wie „de“ für Deutsch oder „en“ für Englisch. Der Ordner hat die Dateiendung „lproj“.
Die einzige globale HTML-Datei ist für den Ladebildschirm verantwortlich und liegt zusammen mit der dazugehörigen CSS- und Javascript-Datei im systemweiten Ordner /Library/Documentation/Resources/Eagle/. Im resources-Ordner der HELP-Datei ist lediglich ein Alias zur eben benannten Datei vorhanden.

## Funktion

Damit die Ansteuerung von der Cocoa-GUI des globalen Hilfeprogramms der verschiedenen Themen der Hilfe funktioniert, sind diese unter anderem in der Datei navigation.json vermerkt. Hier werden Suchbegriffe zu Themen zugeordnet.

## Hilfe-Seite

Im sprachbezogenen Ordner befinden sich die eigentlichen Dateien. Dort befinden sich neben der Hilfe-Main-Datei (eine Version ohne eigenen Stylesheet, welche die Main-Datei der Hilfe abgibt und eine Version mit einem eigenen Stylesheet) eine "InfoPlist.string", "navigation.json", "search.json", "search.helpindex", "locale-info.json" und eine "searchTree.json" Datei. Die Redirect Datei, besitzt einen eigenen Stylesheet und ist dafür da, falls über den "Share" Button im Hilfefenster die Hilfe in Safari geöffnet wird und keine Internet-Verbindung besteht. Das HTML ist dort aber nicht direkt hinterlegt, sondern wird erst per JavaScript ins DOM geladen. Die eigentliche Main-Datei ist eine Namenspezifische HTML Datei mit dem Programm im Titel. So zum Beispiel für den Taschenrechner: "calc34870.html".
Die Main Page Datei wird in der WebKit Rendering Engine gerendert und besitzt ansonsten auch keine Besonderheiten, mit der Ausnahme, dass eine Javascript-Methode existiert, um das entsprechende Programm zu öffnen, welchem die Hilfe-Datei zugeordnet ist und über einen Cocoa-GUI Button kann ein Navigation Panel an der Linken Seite geöffnet oder geschlossen werden.

## Vorkommen

Help-Dateien können grundsätzlich in jedem Programm eingebunden werden, sind aber hauptsächlich in Mac OS X internen bzw. Apple Programmen zu finden.