Lazarus Dokumentation

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von Socke »

af0815 hat geschrieben:Laut den Dokus von FPDoc sollten die xml Dateienen gültig sein (Das von dir erwähnte muss ich mir erst genauer ansehen). Allerdings anders aufgebaut als die Dateien der restlichen Doku. Dort muss ich mich auch erst einarbeiten.

Laut Doku ist der Root-Node fpdoc-descriptions und nicht fpdoc. Und davon darf es dann sogar mehrere Knoten geben und es soll immer noch gültiges XML sein (http://www.freepascal.org/docs-html/fpd ... 5-740005.1) ...

Die mögliche Gliederung ist wie folgt:

Code: Alles auswählen

fpdoc-descriptions
|-package
| |-module
| | |-topic
| |-topic
|   |-topic
|-...

Edit: root tag name
Zuletzt geändert von Socke am Mo 26. Jan 2015, 19:19, insgesamt 2-mal geändert.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von af0815 »

Danke, manche Sachen sollte man nicht erst am Ende der Programmierung lesen, wenn man schon Betriebsblind ist. :shock:

Die Dateien wurden mittels Wikiget und wikiconvert direkt aus der Wiki erzeugt. Wikiget aus dem SVN läuft recht stabil, jetzt muss ich tiefer in wikiconvert eindringen.

Danke für den Hinweis Socke. :D
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von Socke »

Ich hatte mich mit dem Format beschäftigt um meine FPDoc-Dateien (nach Package/Modul) aufzuteilen und wieder zusammenzufügen. Falls du am Ende also nur eine Datei haben möchtest, kannst du dir mal https://github.com/SAmeis/FPDocMover anschauen (auch wenn es ggf. einfacher ist direkt nur eine Datei zu erzeugen).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

Socke hat geschrieben:
af0815 hat geschrieben:Laut den Dokus von FPDoc sollten die xml Dateienen gültig sein (Das von dir erwähnte muss ich mir erst genauer ansehen). Allerdings anders aufgebaut als die Dateien der restlichen Doku. Dort muss ich mich auch erst einarbeiten.

Laut Doku ist der Root-Node fpdoc-description


fpdoc-descriptionS

und nicht fpdoc. Und davon darf es dann sogar mehrere Knoten geben und es soll immer noch gültiges XML sein (http://www.freepascal.org/docs-html/fpd ... 5-740005.1) ...

Die mögliche Gliederung ist wie folgt:

Code: Alles auswählen

fpdoc-description
|-package
| |-module
| | |-topic
| |-topic
|   |-topic
|-...


Ich have Michael gefragt und er sagt es wird immerhin ein dummy unit source (für Module Section) benötigt, und Topics. Ich habe es mit ein Projekt versucht (fpdoc --project=<>), aber bin noch nicht weit gekommen. Montags ist immer eilig ins Buro.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Lazarus Dokumentation

Beitrag von mschnell »

af0815 hat geschrieben:Habe eine kleine Übersicht über die Dokumentation im Wiki gemacht (Deutsch/Englisch).


Vielleicht solltest Du erwähnen, dass die "F1"-Hilfe in Lazarus ein Plugin ist, das man auf Wunsch erweitern oder austauschen kann. z.B. kann man (auch zusätzlich zur offline CHM-Hilfe) auch DocView installieren.

-Michael
Zuletzt geändert von mschnell am Mo 26. Jan 2015, 11:48, insgesamt 1-mal geändert.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

Ich habe schnell, schnell ein fpdoc Beispiel gemacht. http://www.stack.nl/~marcov/helptest.zip

Es sieht schrecklich aus, aber man hat mindestens ein Beispiel.

"b.bat" sollte es nach chm kompilieren.

Die Namen mehrere Bestände wie "idewindow*" und deren Referenz (package name) in XML müssen alle stimmen

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von af0815 »

mschnell hat geschrieben:Vielleicht solltest Du erwähnen, dass die "F1"-Hilfe in Lazarus ein Plugin ist, das man auf Wunsch erweitern oder austauschen kann. z.B. kann man (auch zusätzlich zur offline CHM-Hilfe) auch DocView installieren.

Ich verweise gerne auf den Artikel im Wiki, wie man das macht, wenn er vorhanden ist. :D
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

Ich sah gestern das es einige Updates an fpdoc Manual gibt (zb Documentation des Example Tag). Habe einen neuen fpdoc.pdf generiert: http://www.stack.nl/~marcov/fpdoc.pdf

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von af0815 »

marcov hat geschrieben:Es sieht schrecklich aus, aber man hat mindestens ein Beispiel.


Danke. Das sieht nicht schrecklich aus, sondern ist genau das was benötigt um das System zu begreifen. Gehört genau genommen in die Wiki :shock:

Wenn ich etwas aus der Wiki direkt nehme, so habe ich keine (unit) Sourcedatei (*.pp, *.pas) :-) Ich werde mir das Beispiel mal ganz genau ansehen und ich sehe schon, mein Hauptproblem bisher war vermutlich die nicht vorhandene Steuerdatei (hier ide.xml).

Wie gesagt, langsam klärt die Sache auf (sehr langsam :-) )

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

Socke hat geschrieben:
Die mögliche Gliederung ist wie folgt:

Code: Alles auswählen

fpdoc-description
|-package
| |-module
| | |-topic
| |-topic
|   |-topic
|-...


Dürfen Topics tatsächlich genest sein? ( Topic innerhalb Topic, hast du das in die Quellen nachgesehen?)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von af0815 »

Laut einer kleinen Übersicht in der Wiki2FPDocConvert wird folgendes gemacht. Werde mal in der Mailinglist nachfragen ob das einen bestimmten Grund hat, oder nur nicht an den aktuellen FPDoc angepasst wurde.

Code: Alles auswählen

 
<fpdoc>
  <package="wiki"/>
    <module name='wiki_page_name'>
      <!-- header 1-->
      <short>Page title</short>
      <description> text under page header</description>
      <!-- header 2-->
      <topic name="wiki_page_name_title_1">
        <short>Title header 1</short>
        <description> text under header1</description>
        <!-- header 3-->
        <topic name="wiki_page_name_subtitle_1">
          <short>Title header subtitle</short>
          <descr>text</descr>
        </topic>
      </topic>
    </module>
  </package>
</fpdoc>
 
 


marcov hat geschrieben:Ich habe schnell, schnell ein fpdoc Beispiel gemacht. http://www.stack.nl/~marcov/helptest.zip Es sieht schrecklich aus, aber man hat mindestens ein Beispiel. "b.bat" sollte es nach chm kompilieren. Die Namen mehrere Bestände wie "idewindow*" und deren Referenz (package name) in XML müssen alle stimmen

Ich habe es kompiliert, aber der Inhalt des chm ist auch noch nicht das, was man sich erwartet.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

af0815 hat geschrieben:
Wenn ich etwas aus der Wiki direkt nehme, so habe ich keine (unit) Sourcedatei (*.pp, *.pas) :-) Ich werde mir das Beispiel mal ganz genau ansehen und ich sehe schon, mein Hauptproblem bisher war vermutlich die nicht vorhandene Steuerdatei (hier ide.xml).


Siehe Socke's Bericht. Man kann auch Topics direkt unter das Package Tag hängen, also ohne "Modul" Nestung, und ohne dummy Quellen

Michael hat mittlerweile einige Fixes an fpdoc hinzugefügt. (Parsen von Methods in Records hoffe ich)


r29553 michael 2015-01-26 10:54:15 +0100 (Mon, 26 Jan 2015)
* Support for functions in records

r29555 michael 2015-01-26 14:25:31 +0100 (Mon, 26 Jan 2015)
* Fix visibility in records mixed with function/procedure
Commit consists out of 1 line

M /trunk/packages/fcl-passrc/src/pparser.pp
M /trunk/packages/fcl-passrc/tests/tctypeparser.pas
M /trunk/packages/fcl-passrc/tests/testpassrc.lpi

r29556 michael 2015-01-26 14:46:21 +0100 (Mon, 26 Jan 2015)
* Support Hints prior to variable initialization, properties in records
Commit consists out of 1 line

M /trunk/packages/fcl-passrc/src/pparser.pp
M /trunk/packages/fcl-passrc/tests/tctypeparser.pas
M /trunk/packages/fcl-passrc/tests/tcvarparser.pas

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Lazarus Dokumentation

Beitrag von Socke »

marcov hat geschrieben:Dürfen Topics tatsächlich genest sein? ( Topic innerhalb Topic, hast du das in die Quellen nachgesehen?)

Ich habe die Dokumentation gelesen. Nesting ist nur erlaubt, wenn sich die Topics im package befinden. In Modulen ist das nicht erlaubt.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus Dokumentation

Beitrag von marcov »

Socke hat geschrieben:
marcov hat geschrieben:Dürfen Topics tatsächlich genest sein? ( Topic innerhalb Topic, hast du das in die Quellen nachgesehen?)

Ich habe die Dokumentation gelesen. Nesting ist nur erlaubt, wenn sich die Topics im package befinden. In Modulen ist das nicht erlaubt.


Ok. Ich habe ein bisschen gesucht innerhalb die Doku, und hab's gefunden. (fpdoc.css kommt aus fpc/utils/fpdoc. IDE_Windowfg.xml ist ein Duplikat von IdeWindow mit etwas andere NAME Tags, um zu testen ob es zugestehen ist um mehrere descr Bestände mit Topics für dieselbe Package zu haben.

Format ist jetzt Teil des Projektes, also --format=chm ist nie langer Nötig, nur fpdoc --project=lazaruside.xml

lazaruside.xml:

Code: Alles auswählen

 
<?xml version="1.0" encoding="utf-8"?> 
<docproject> 
  <options> 
    <option name="ostarget" value="Linux"/> 
    <option name="cputarget" value="x86_64"/> 
    <option name="show-private" value="false"/> 
    <option name="stop-on-parser-error" value="false"/> 
    <option name="format" value="chm"/>
    <option name="auto-index" value="1"/> 
    <option name="auto-toc" value="1"/> 
    <option name="make-searchable" value="1"/> 
    <option name="css-file" value="fpdoc.css"/> 
    <option name="chm-title" value="Lazarus IDE Help"/> 
  </options> 
  <packages> 
    <package name="lazaruside" output="lazaruside.chm" content="lazaruside.xct"> 
  <units>
  </units>       
  <descriptions> 
    <description file="idewindow2.xml"/>
    <description file="IDE_Windowfg.xml"/>
  </descriptions> 
    </package> 
  </packages> 
</docproject>
 



idewindow2.xmL;

Code: Alles auswählen

 
<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="lazaruside">
      <topic name="package topic">
       <short>Test topic for blablabla reasons</short>
       <descr> This is the body text for test topic.</descr>
      <topic name="nested topic test">
       <short>Title for nested topic</short>
       <descr> Nested topic body</descr>
             </topic>
      </topic>
  </package>
</fpdoc-descriptions>
 

Antworten