How To Make Lazarus Docs/sk: what changed
Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | ## Tvorba dokumentácie pre Lazarus | |
| 2 | 2 | ||
| 3 | 3 | Súbory dokumentácie, ktoré budú eventuálne zahrnuté do systému on-line nápovedy, môžete vygenerovať zo súborov jednotiek Lazarus Component Library (lcl). Utilita FpDoc generuje HTML súbory použitím zdrojových súborov Pascal (*.pp or *.pas) ako vstupu. Veľká časť veľmi dôležitých informácií môže byť zahrnutá, ak použijete popisný súbor XML v spojitosti so zdrojovým súborom. | |
| 4 | 4 | ||
| 5 | 5 | Kým je výborne možné generovať XML tagy ručne, použitím inštrukcií v manuále FpDoc, oveľa jednoduchšie je použiť utilitu **makeskel**, ktorá je poskytnutá ako súčasť FpDoc. Táto utilita generuje súbor XML s množinou prázdnych tagov pre každý identifikátor, typ, procedúru a funkciu v zdrojovom kóde. | |
| 6 | 6 | ||
| 7 | 7 | Použitie nástroja makeskel úplne priamočiare: musíte zadať meno (jedného alebo viacerých) vstupného súboru (ako pri FPDOC), meno výstupného súboru a meno balíčka: | |
| 8 | 8 | ||
| 9 | - | ||
| 9 | + | ```text | |
| 10 | + | makeskel --package=rtl --input=crt.pp --output=crt.xml | |
| 11 | + | ``` | |
| 10 | 12 | ||
| 11 | 13 | Týmto príkazom makeskel prečíta súbor **crt.pp** a vytvorí súbor **crt.xml**, ktorý obsahuje prázdne uzly pre všetky identifikátory nájdené v **crt.pp**, všetko v balíčku zvanom **rtl**. Iný príklad: | |
| 12 | 14 | ||
| 13 | - | ||
| 15 | + | ```text | |
| 16 | + | makeskel --input='-Sn system.pp' --input=crt.pp --output=rtl.xml | |
| 17 | + | ``` | |
| 14 | 18 | ||
| 15 | 19 | Ako vidno na príklade, voľba input môže obsahovať aj niektoré voľby prekladača, ako vprípade FPDOC. Uvedený príkaz spracuje súbory **system.pp** a **crt.pp**, a vytvorí značky prvkov, pre identifikátory oboch unít, v súbore rtl.xml. | |
| 16 | 20 | ||
| 17 | 21 | Používateľ môže editovať tento XML súbor, buď pomocou jednoduchého textového editora alebo pomocou editora XML ako KXMLEditor. V týchro súboroch môže existovať obrovský počet údajov. | |
| 18 | 22 | ||
| 19 | 23 | ||
| 20 | 24 | **Pripomínam**, že upravované sú len značky popisujúce Objekty, aspoň zo začiatku (použite Search na nájdenie objektu a potom zadajte krátke titulky a popisy komponentov). | |
| 21 | 25 | ||
| 22 | 26 | Keď dokončíte úpravy XML súboru, uložte ho a spusťte | |
| 23 | 27 | ||
| 24 | - | ||
| 28 | + | ```text | |
| 29 | + | fpdoc --package=lcl --input=thisunit.pp --descr=thisunit.xml | |
| 30 | + | ``` | |
| 25 | 31 | ||
| 26 | 32 | Výsledné HTML súbory budú umiestnené v podadresári nazvanom 'thisunit'. | |
| 27 | 33 | ||
| 28 | 34 | Bude tam veľký počet HTML súborov (zvyčajne okolo 160) - tieto budú eventuálne všetky použité pre Help súbory, ale je tam veľmi veľa informácií, napr. pre umiestnenie na tejto Wiki stránke. Je užitočné tieto súbory prefiltrovať a zahrnúť len tie, ktoré popisujú komponenty. To môžete urobiť pomocou | |
| 29 | 35 | ||
| 30 | - | ||
| 36 | + | ```text | |
| 37 | + | grep -l Inheritance * > outputfile | |
| 38 | + | ``` | |
| 31 | 39 | ||
| 32 | 40 | keďže len komponenty majú popis ich dedičnosti (Inheritance). | |
| 33 | 41 | ||
| 34 | 42 | Výstupný súbor môže byť použitý na ovládanie utilizy pre konverziu z HTML na text, napríklad aplikáciou **html2text**. Tento proces môže byť čiastočne automatizovaný v nasledujúcom Pascal programe (ktorý je prehnane jednoduchý, nie veľmi robustný, ale pracuje!): | |
| 35 | 43 | ||
| 36 | 44 | ``` pascal | |
| 37 | 45 | program convhtml; | |
| 38 | 46 | { CT Kirkpatrick, MD 20040720 } | |
| 39 | 47 | {$mode objfpc}{$H+} | |
| 40 | 48 | { číta zoznam mien súborov z listfile a konvertuej ich z HTML na text, | |
| 41 | 49 | zapísaním výstupu všetkých súborov do výstupného súboru }<br> | |
| 42 | 50 | uses | |
| 43 | 51 | Classes, unix;<br> | |
| 44 | 52 | var | |
| 45 | 53 | listfile, outfile: text; | |
| 46 | 54 | pathname, listfname, outfname, fname: string; | |
| 47 | 55 | execstring, comstring: string; | |
| 48 | 56 | begin | |
| 49 | 57 | Writeln ('Zadajte cestu k súborom na konverziu'); | |
| 50 | 58 | Readln (pathname); | |
| 51 | 59 | Writeln ('Zadajte meno súboru obsahujúceho zoznam súborov pre konverziu'); | |
| 52 | 60 | Readln (listfname); | |
| 53 | 61 | shell ('grep -l Inheritance ' + pathname + '* > ' + pathname + 'filelist.txt'); | |
| 54 | 62 | Writeln ('Zadajte meno výstupného súboru'); | |
| 55 | 63 | Readln (outfname); | |
| 56 | 64 | Assign (listfile, pathname +'filelist.txt'); | |
| 57 | 65 | Assign (outfile, pathname + outfname); | |
| 58 | 66 | Reset (listfile); | |
| 59 | 67 | Rewrite (outfile); | |
| 60 | 68 | while not eof (listfile) do | |
| 61 | 69 | begin | |
| 62 | 70 | readln (listfile, fname); //writeln (fname); | |
| 63 | 71 | //if fname = '' then begin readln (listfile, fname); writeln (fname) end; | |
| 64 | 72 | execstring := '/usr/bin/html2text '; | |
| 65 | 73 | comstring := '-nobs ' + fname | |
| 66 | 74 | + ' >> ' + pathname + outfname; | |
| 67 | 75 | writeln ('Executing ', execstring, comstring); | |
| 68 | 76 | shell (execstring + comstring); | |
| 69 | 77 | end; | |
| 70 | 78 | end. | |
| 71 | 79 | ``` | |
| 72 | 80 | ||
| 73 | 81 | ## Pôvodní spolupracovníci a zmeny | |
| 74 | 82 | ||
| 75 | 83 | This page has been imported from the epikwiki [version](http://lazarus-ccr.sourceforge.net/index.php?wiki=HowToMakeLazarusDocs). Original by User:Kirkpatc. | |
| 76 | 84 | ||
| 77 | 85 | - preložené z originálu - Slavko 14:50, 11 Apr 2005 (PDT) | |
| 78 | 86 | ||
| 79 | 87 | --- | |
| 80 | 88 | *From the Free Pascal wiki, page "How To Make Lazarus Docs/sk", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
