Lazarus Documentation Editor/de

From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) slovenčina (sk)

Einleitung

Ein wichtiger Teil von Lazarus, der noch fehlt, ist die Dokumentation. Diese Seite beschreibt die Arbeitsweise eines Werkzeugs, das bei der Erstellung der Dokumentation hilft. Das Lazarus-Basis-Verzeichnisses wird [$LazDir] genannt. Wenn sie dieses lesen, ersetzen sie es durch das Verzeichnis, in dem Lazarus installiert ist.

Das Weshalb

Das erste Ziel dieses Projektes ist es, eine Online Hilfedatei verfügbar zu machen. Um die Hilfedatei plattformunabhängig zu machen haben wir begonnen, XML Dateien für jede Unit in Lazarus zu erzeugen. Bislang wurde nur mit dialogs.pp und buttons.pp begonnen.

Die XML-Dateien werden dann benutzt, um HTML-Seiten zu erzeugen, die über das Internet abgerufen werden können unter http://lazarus-ccr.sourceforge.net/docs/lcl/. In einem späteren Stadium werden die selben XML-Dateien genutzt, um eine integrierte Hilfe zu entwickeln.

Der Start

Wie bereits erwähnt, wird XML verwendet, um die Dokumentation plattformunabhängig zu halten. Die gegenwärtige Dokumentation findet man in [$LazDir]/docs/xml/. Bislang gibt es meistens Gerüstdateien im LCL Verzeichnis. Die XML Dateien, die sie in diesem Verzeichnis finden, sind automatisch generiert und müssen angepasst werden, um brauchbar zu sein. So jetzt wissen wir, wo die Dateien zu finden sind. Lassen sie uns auf das Werkzeug schauen, um sie zu erstellen/zu überarbeiten.

Das Werkzeug

"lazde" ist ein Werkzeug, um die XML Dateien zu bearbeiten, aber es kann auch benutzt werden, um die grundlegenden Dateien aus den Quelldateien zu generieren und mittels eines externen Werkzeugs eine HTML Version der Dokumentation zu generieren. Ein Beispiel der Ergebnisse des letzten Werkzeugs ist hier zu sehen, ein Teil der Dokumentation bis hierher. Wenn sie noch keine kompilierte Version von lazde haben, dann müssen sie sie selbst erstellen. Die Quellen für "lazde" findet man in [$LazDir]/doceditor/. Wenn sie dieses Programm starten und sie [$LazDir]/docs/xml/lcl/dialogs.xml geöffnet haben, werden sie diesen Bildschirm präsentiert bekommen

Lazdemain.png

Die Arbeit

Lazdeelements.png

Das Öffnen des Knotens "Packages" zeigt den "LCL" Knoten mit einem Knoten "Dialogs". Das Auswählen dieses letzten Knotens füllt die untere Baumansicht mit Elementen. Diese Elemente sind Konstanten, Typen und Klassen, die in der Dialogs.pp Unit definiert sind. Benutzte Units sind auch als Knoten hinzugefügt. Weitere Knoten sind die für die Eigenschaften einer Klasse, die Parameter für eine Funktion und so weiter.

Das Auswählen eines Knotens in der unteren linken Baumansicht führt zur Anzeige des Inhalts dieses Knotens auf der rechten Seite des Fensters.

Wenn sie auf diese Seite schauen, werden sie einen Überblick über die Klassen sehen, die in der Unit "dialogs" definiert sind. Nach jeder Klasse sehen sie eine Textzeile. Dieser Text stammt von der Editbox "short" von lazde.

Unter der Editbox "short" befindet sich ein Memofeld, in dem sie eine ausführlichere Beschreibung der Komponente oder Eigenschaft eingeben können.

Beachten sie: Wenn sie einen Zeilenumbruch einfügen wollen, dann benutzen sie <br/>

Die nächsten sind "Errors", "See also" und "Example code File".

"Errors" kann benutzt werden, um über Fehler zu berichten, die von einer Funktion ausgelöst werden, wenn die Parameter Werte außerhalb des Bereichs haben. Für ein Beispiel können sie auf diese Seite schauen.

Genau über "See also" und "Example code File" sehen sie drei Schaltflächen. Diese Schaltflächen erlauben ihnen, Verweise auf andere Seiten beziehungsweise Codebeispiele hinzuzufügen und zu entfernen.

Das Ergebnis

Werfen sie einen Blick auf die Beschreibung von InputQuery. Oben auf der Seite sehen wir, worüber die Seite berichtet, in diesem Fall das Formular "InputQuery"-Funktion der dialogs.pp. Die erste Textzeile ist, was in der Editbox "Short" in lazde eingegeben wurde.

Als nächstes folgt die Erklärung dieser Funktion in den Quellen. Der Erklärungsteil wurde vom Html-Builder erzeugt und wurde aus den Quellen übernommen. Die Quellenposition steht auf 0, weil es zwei Versionen dieser Funktion gibt.

Dann werden die Argumente festgelegt. Wenn sie den InputQuery Knoten in lazde öffnen, werden alle Argumente als Nachfolger-Knoten aufgeführt. Der Text, der nach den Argumenten gezeigt wird, wurde in der Editbox "Short" eingegeben, wenn der entsprechende Nachfolger-Knoten ausgewählt wurde.

Als ein vierter Paragraph wird das Funktionsergebnis gezeigt. Der Text, der hier gezeigt wird, wurde auf die selbe Weise wie die Argumente eingegeben.

Zum Schluss wird die Beschreibung gezeigt. Dieser Text wurde in der Box "description" von lazde eingegeben.

Das Hinzufügen neuer Units

Es gibt natürlich noch andere Units, die dokumentiert werden müssen. Wenn dies zum Beispiel eine Unit für ein Package ist, gibt es wahrscheinlich keine XML Datei, mit der sie beginnen können. Sie müssen dann ganz von vorn anfangen, aber lazde hat eine entsprechende Funktion. Gehen sie zu File -> New und der folgende Bildschirm erscheint:

Lazdenewdocfromfile.png

Sie beginnen, indem sie dem Package einen Namen geben. Alle Units, die sie zu diesem Package hinzufügen wollen, sollten den selben Package-Namen haben. Anschließend geben sie die Quelldatei ein, die sie benutzen: Sie können auch nach dieser Datei suchen. Dann geben sie einen Namen für die Ausgabedatei ein. (Vergessen sie nicht den XML-Dateityp!) und drücken sie "OK".

lazde wird dann die Grundlagen für die Dokumentation generieren. Die generierte Datei wird geöffnet und die Baumansicht übernimmt aus ihrerQuelldatei alle Units, Klassen, Typen, Funktionen und so weiter. Jetzt sind sie bereit, einen neuen Teil von Lazarus zu dokumentieren.

Werfen sie einen Blick auf die LCL Documentation Roadmap, um zu sehen, welche Units noch dokumentiert werden müssen.

Das Endergebnis

Während der Benutzung des Programms habe ich die Erfahrung gemacht, dass ich gern sehen würde, wie die Informationen in ihrer finalen Stufe gezeigt werden, am besten als ein durchsuchbares Dokument. Für diesen Zweck verwendet lazde eine Utility, um alle notwendigen HTML-Dateien zu erstellen.

Dieses Utility kann aus dem Menü Extra -> Build gestartet werden. Der folgende Bildschirm wird gezeigt:

Lazdebuild1.png

"Package" sollte das selbe sein, wie der Name bei der Erstellung der XML-Dateien. Als "Format" wählen sie HTML. Bei "Output" geben sie den Pfad ein, wo die resultierenden Dateien abgelegt werden sollen. Drücken sie "Add all" und alle Dokumente, an denen sie arbeiten, werden zum Projekt hinzugefügt. Dann gehen sie zum nächsten Tab

Lazdebuild2.png

und geben die Pfade zu den Quelldateien ein. Nachdem sie "build" gedrückt haben, wird ihre Festplatte anfangen zu rattern und schließlich erscheint auf dem "Build output" Tab folgende Ausgabe:

Building docs using command: fpdoc --package="LCL"
--output="/home/matthijs/documentatie/LCL" --format=html --content 
--descr="/home/matthijs/Projecten/Lazarus/doceditor/buttons.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/comctrls.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/dialogs.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/controls.xml"
--input="/home/matthijs/cvsroot/lazarus/lcl/buttons.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/comctrls.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/dialogs.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/controls.pp" 

FPDoc - Free Pascal Documentation Tool
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org

Writing 2788 pages...
Done.
Documentation successfully built.

Wenn sie zu dem Verzeichnis gehen, dass sie bei "Output" eingegeben haben, werden sie eine Datei "index.html" sehen und (in diesem Fall 4) Unterverzeichnisse. Öffnen sie index.html in ihrem Browser und betrachten sie das Ergebnis ihrer harten Arbeit an der Dokumentation. Sie können den Verweisen zu folgen und alles lesen.

Wenn sie planen, mit der Arbeit an dieser Dokumentation fortzufahren, drücken sie "Save" und speichern sie die "build" Optionen. Sie werden nach einem Namen für die Datei gefragt und die Optionen werden gespeichert. Wenn sie das nächste Mal die HTML-Dateien erstellen wollen, dann können sie die Optionen einfach erneut laden.

Die Einreichung

Wenn sie zufrieden mit ihrer Arbeit sind, dann wollen sie diese sicher mit der Lazarus Community teilen. Alles was sie tun müssen, ist einen Patch zu erstellen, ihn zu zippen und einzuschicken.

Eine kleine Notiz

Beachten sie das Folgende: lazde ist noch in Arbeit. Es ist funktionsfähig, aber noch nicht komplett. Daher können noch Bugs enthalten sein, aber scheuen sie sich nicht, diese zu berichtigen.