Lazarus Documentation Editor/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) polski (pl) русский (ru) slovenčina (sk)

Einleitung

Ein wichtiger Teil von Lazarus der noch fehlt, ist die Dokumentation. Um beim Erstellen dieser Dokumentation zu helfen, wurde ein Werkzeug entwickelt. Diese Seite will die Arbeiten dieses Werkzeugs beschreiben. Zur Bezeichnung des Lazarus Basis Verzeichnisses benutze ich [$LazDir]. 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.

Diese XML-Dateien werden dann benutzt, um HTML-Seiten zu erzeugen, welche über das Internet abgerufen werden können unter http://lazarus-ccr.sourceforge.net/docs/lcl/ . In einem späteren Stadium wird eine integrierte Hilfe entwickelt, unter erneuter Nutzung der selben XML-Dateien.

Der Start

Wie zuvor erwähnt, um die Dokumentation plattformunabhängig zu halten, wird XML verwendet. Die gegenwärtige Dokumentation ist zu finden 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" sind zu finden in [$LazDir]/doceditor/. Wenn sie dieses Programm starten und sie [$LazDir]/docs/xml/lcl/dialogs.xml geöffnet haben, dann werden sie diesen Bildschirm präsentiert bekommen

Lazdemain.png

Die Arbeit

Lazdeelements.png

Das Öffnen des Knotens "Packages" wird den "LCL" Knoten zeigen, der einen "Dialogs" knoten enthält. Das Auswählen dieses letzten Knotens wird die untere Baumansicht mit Elementen füllen. Diese Elemente stellen Konstanten, Typen und Klassen dar, die in der Dialogs.pp Unit definiert sind. Benutzte Units sind auch als Knoten hinzugefügt. Andere Knoten sind hinzugefügt 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 "dialogs" Unit definiert sind. Nach jeder Klasse sehen sie eine Textzeile. Dieser Text kommt von der "short" Editbox von lazde.

Unter der "short" Editbox ist ein Memofeld, wo 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, Links 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 InputQuery Funktion Formular der dialogs.pp. Die erste Textzeile ist, was in der "Short" Editbox in lazde eingegeben wurde.

Als nächstes folgt die Erklärung dieser Funktion in den Quellen. Der Erklärungsteil wurde erzeugt vom Html-Builder und wurde aus den Quellen genommen. Weil es zwei Versionen dieser Funktion gibt, sagt die Quellenposition 0.

Dann werden die Argumente festgelegt. Wenn sie den InputQuery Knoten in lazde öffnen, dann werden sie alle Argumente sehen als Nachfolger Knoten aufgeführt. Der Text, der nach den Argumenten gezeigt wird, wurde in der "Short" Editbox 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 Schluß wird die Beschreibung gezeigt. Dieser Text wurde in der description Box 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 Funktion, um sie zu einem fliegenden Start zu bringen. Gehen sie zu File -> New und der folgende Bildschirm wird erscheinen:

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 OK.

lazde wird dann die Grundlagen für die Dokumentation generieren. Die generierte Datei wird geöffnet und die Baumansicht wird bevölkert von allen Units, Klassen, Typen Funktionen und so weiter von ihrer Quelldatei. 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

Was ich erfahren habe während der Benutzung des Programms ist, daß ich gern sehen würde, wie die Informationen in ihrer finalen Stufe gezeigt werden (als ein durchsuchbares Dokument). Für diesen Zweck macht lazde Gebrauch von einem 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 beginnen zu rattern und schließlich wird der folgende Output gezeigt auf dem "Build output" Tab.

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, daß sie bei "Output" eingegeben haben, werden sie eine index.html Datei sehen und (in diesem Fall 4) Unterverzeichnisse. Öffnen sie index.html in ihrem Browser und sehen sie das Ergebnis ihrer ganzen harten Arbeit an der Dokumentation. Sie werden in der Lage sein den Links zu folgen und alles zu 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 sind mit ihrer Arbeit, 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 fertig. Daher können noch Bugs enthalten sein, aber fühlen sie sich frei, diese zu berichtigen.