Dokumentacja (długie, ale przeczytajcie proszę)
Rafał Kleger-Rudomin
klakier w pg.gda.pl
Nie, 17 Paź 1999, 15:17:24 CEST
Witam
Jakiś czas temu zaproponowałem rozpoczęcie dokumentowania PLD
Kloczek i Wiget zwrócili wtedy moją uwagę na SGML-Docbook-DTD i możliwość
jego wykorzystania, w aspekcie szerszym niż tylko napisanie manuala do PLD.
Przedstawiam moje wnioski i propozycje dotyczące zastosowania tych narzędzi do
stworzenia w miarę jednolitego systemu dokumentacji.
Dla tych którzy nie wiedzą co to SGML i Docbook polecam lekturę
PLD-doc/SGML-DocBook/docbook-intro_pl/docbook-intro.html
są tam również odnośniki do innych źródeł
*** Wprowadzenie ***
Obecnie źródła dokumentacji występujące w dystybucji to:
txt: pliki tekstowe z pakietów
texinfo: z pakietów
many: z pakietów
html: z pakietów
sgml-linuxdoc: z pakietów
sgml-linuxdoc: HOWTO i JTZ
chyba latex?: podręczniki LDP
sgml-docbook: dokumentacja gnome
texinfo: materiał o CVS na www.pld.org.pl
jakieś inne? formaty: materiały na www.pld.org.pl
(zapomiałem o czymś?)
Później mogłyby do tego dołączyć na przykład:
sgml-docbook: z pakietów pld-specific (rc-csripts, pam itd)
sgml-docbook: PLD-reference
sgml-docbook: PLD-user-manual
sgml-docbook: PLD-tutorial
Jeśliby móc skonwertować i trzymać całą tę dokumentację w jednolitym formacie
ułatwione byłyby następujące zadania:
Stworzenie wspólnego drzewa całej dokumentacji przychodzącej z dystrybucją
Budowanie z CVS wersji HTML dla www.pld.org.pl
Budowanie dokumentacji HTML (kiedyś może XML?) do przeglądania w obrębie
dystrybucji
Konwersja do formatów drukowalnych
Tworzenie indeksów i wyszukiwanie
*** Dlaczego kolejny format? ***
Docbook ma wiele zalet wśród nich:
jest sprawdzonym standardem przemysłowym
możliwa będzie konwersja do XML
zmusza do bardzo dokładnego oznaczania treści dokumentów
są do niego dobre narzędzia
jest zgodny ze standardem ISO - SGML, co wróży mu dalszą przyszłość
... po bardziej kompletną listę odsyłam do docbook-intro i innych źródeł
Przykłady zastosowań Docbooka:
cała dokumentacja sun-a
cała dokumentacja gnome
ponoć M$ też używa ...
*** Co z dokumentacją w innych formatach? ***
man:
Docbook zawiera specjalne struktury przeznaczone do trzymania
opisów takich jak unixowe man-pages. Kloczek pisał że w solarisie
many są trzymane w docbooku, a program man jest tak spreparowny by
konwertować to w locie. Czyli jest to wykonalne.
Oprócz tego tak spreparowane many mogłyby być podłączone do głównego drzewa
texinfo:
Format texinfo sam w sobie jest całkiem "informacjonośny" i możnaby go
nieźle wpasować w DocBooka. Przykładów że ktoś to zrobił nie znam.
Trochę żal by było "pinfo". Ale z drugiej strony można by też napisać
konwerter docbook2info i traktowac info jako kolejny format wynikowy,
obok html i texa.
linuxdoc:
Jest konwerter linuxdoc-docbook
aspekty związane z innymi formatami:
gimp manual ma źródła w jakimś innym formacie
lyx ma doce w lyxie
tex ma doce w texu, dvi i sam w sobie
i pewnie ciężko będzie coś na to szybko poradzić - trudno
*** Projekt drzewa ***
Ogólne drzewo wyobrażam sobie mniej więcej tak:
/
|-Dokumentacja developera
| |-jeśli autorzy się zgodzą byłoby tu to co jest obecnie w dziale technikalia
| |-i instrukcja jak pisać dokumentację w docbooku
| |-i jeszcze inne
|
|-PLD Przewodnik (Tutorial)
|-PLD Podręcznik Użytkownika (User Manual)
|-PLD Dokumentacja systemu (Reference)
| |-pakiet rc-scripts
| | ...
| |-pakiet pam
|
|-JTZ
|-KDE,GNOME doce
|-Oprogramowanie
| |-pakiet aaa
| | ...
| |-pakiet zzz
| |-doce skonwertowane z man
| |-doce skonwertowane z info
| i wszystko inne co się uda
|-Indeksy
Dla www drzewo byłoby odpowiednio opowiednio okrojone
Gdzie byłyby trzymane poszczególne rzeczy?
Dokumentacja Developera, PLD Przewodnik i Podręcznik miałyby swoje własne
moduły.
PLD dokumentacja systemu miałaby swój moduł ale tam byłby tylko główny
dokument - reszta w poszczególnych modułach
Cała ta dokumentacja mogłaby być normalnie w pakietach
do zaistalowania w formie html. Źródła byłyby tylko w cvs
Co do dokumentacji oprogramowania:
Tutaj kwestia jest raczej otwarta. Na pewno można spróbować
zamienić many na docbook.
*** Co można zrobić na razie ***
Powyższe to tylko projekt, jest wiele problemów do rozwiązania
aby coś takiego w całości osiągnąć.
Na razie można pisać dokumentację do rzeczy które są tworzone przez PLD-team
tzn. do działu Dokumentacja systemu.
Pozwoliłem sobie wrzucić przykład do rc-scripts/doc (sysconfig.docb)
To jest przykład tworzenia "reference entry"
Jeśliby ktoś chciał pisać jakiś artykuł to ogólnym przykładem
może być PLD-doc/SGML-DocBook/sources/docbook-intro_pl.sgml
Ja chciałbym zacząć od tworzenia modułu dokumentacji developera
wyglądałoby to np. tak
moduł docdevel:
index.docb - dokument główny
docbook-intro.pl.docb - rozdział o docbooku
inne pliki - rozdziały
jeśli potrzeba - w podkatalogach podrozdziały itd
I tyle. W tworzeniu i poprawianiu dokumentacji
będą mogli brać udział wszyscy. Żeby stworzyć nowy rozdział
wystarczy wrzucić nowy plik i podpiąć go do dokumentu głównego.
To tyle
Proszę o uwagi
--
Rafał Kleger-Rudomin (klakier w pg.gda.pl)
Więcej informacji o liście dyskusyjnej pld-devel-pl