|
|||
Figur 0A.1 rd-Quelldatei
Figur 0A.2 Ausgabe von A1 als HTML
Du hast also ein Meisterstück geschrieben, eine Klasse, die eine Klasse für
sich selber ist, und nun möchtest du sie der Welt zeigen. Aber, als
verantwortungsbewusster Entwickler, fühlst du doch die Notwendigkeit, deine
Schöpfung zu dokumentieren. Wie machst du das? Am einfachsten ist es, Rubys eingebautes
Dokumentations-Format, RD, zu benutzen sowie rdtool, eine Ruby-Utility-Suite,
die diese Dokumentation in eine Vielzahl von Ausgabe-Formaten konvertiert.
rdtool sucht eine Datei nach
=begin...=end-Paaren ab und extrahiert den Text dazwischen. Von diesem Text
wird angenommen, dass er im RD-Format vorliegt. Der Text wird dann nach einem Satz von
einfachen Regeln bearbeitet:
= Überschrift erste Ebene == Überschrift zweite Ebene ... |
This is normal text * start of a multiline bullet item * and another * nested item * second nested * third item at top level |
(1) A numbered item * subitem in a bulleted list * subitem (2) Second numbered item (9) This will actually be labeled '3.' |
: red when the light is red, you must stop : amber the amber light means that things are about to change. Either: * step on the gas, or * slam on the brakes : green green means GO |
| Sequenz | Beispiel | gewünschter Nutzen | ||||||
| ((*emphasis*)) | emphasis | Hervorhebung (normalerweise Schrägschrift) | ||||||
| (({code stuff})) | code stuff |
Code | ||||||
| ((|variable|)) | variable | Variablen-Name | ||||||
| ((%type me%)) | type me |
Keyboard-Input | ||||||
| ((:index term:)) | index term | etwas, das man indizieren will | ||||||
| ((<reference>)) | reference | Hyperlink-Referenz | ||||||
| ((-footnote-)) | text.4 | Fußnoten-Text. Eine Referenz wird im Text eingefügt, der Text der Fußnote erscheint am unteren Rand der Seite. | ||||||
| (('verb')) | verb | wörtlicher Text | ||||||
((<...>))-Konstrukt benutzt.
= Synopsis
...
See ((<Return Codes>)) for details.
..
== Instance Methods
--- Tempfile.open( filename )
Opens the file...
== Return Codes
..
The method ((<Tempfile.open>)) raises an (({IOException}))...
|
rdtool das als externen
Hyperlink zu formatieren.
Die Referenz ((<display part|label>)) erzeugt einen Link auf
label, setzt in den Text jedoch ``display part'' ein. Dies wird im
Beschreibungs-Abschnitt des Beispiels in Figur A.1 auf Seite 518 benutzt,
um Methoden-Namen zu
referenzieren:
perspective, apart from the unusual ((<(({new}))|Tempfile.new>)),
...
|
Tempfile.new.
rdtool macht bestimmte Annahmen über das Format von Methoden-Namen. Klassen-
oder Modul-Methoden solten als Class.method auftauchen, Instanz-Methoden als
Class#method und Klassen- oder Modul-Konstanten als Class::Const.
--- Tempfile::IOWRITE Open the file write-only. ... --- Tempfile.new( filename ) Constructs a temporary file in the given directory. The file ... --- Tempfile#open Reopens ((|aTempfile|)) using mode ``r+'', which allows reading .. |
<<< filename |
.rd oder .rb-Extension angegeben ist, wird
sie als RD-Dokumentation interpretiert.
Falls der Dateiname keine Extension besitzt, sucht rdtool nach einer Datei mit
einer Extension, die dem gewünschten Output entspricht (.html
bei HTML-Dateien, .man bei Manual-Dateien und so weiter) und interpoliert den
Dateiinhalt in den output-Stream. Damit kann eine Zeile wie diese:
<<< header |
.rd haben
solle). Diese Dateien werden mit dem rd2-Kommando bearbeitet, um den
passend formatierten Output zu erzeugen.
rd2 [options]inputfile[ >outputfile] |
-rformat |
Wähle ein Output-Format. -rrd/rd2html-lib.rb erzeugt HTML-Output
(Default). -rrd/rd2man-lib.rb erzeugt Unix-Man-Page-Output. |
-oname |
Setzt den Namen der Output-Datei (ohne Extension). |
--help |
Zeigt alle Optionen an. |
rdtool laufend weiter
entwickelt. Es ist wahrscheinlich, dass einige der hier angegebenen Dateils schon
überholt sind (oder einfach nur falsch), wenn du dies liest.
Zusammen mit der rdtool-Distribution gibt es die Datei README.rd. Wir
empfehlen, diese zu lesen, damit hat man einen aktuellen Zugang dazu, wie man
Ruby-Dokumentationen erstellt.