NAME htmlbook - HTML-Dateien für ein Buch-Äquivalent AUFRUF htmlbook [] BESCHREIBUNG Das Programm erzeugt HTML-Dateien, die Struktur des erzeugten Webangebotes ähnelt einem Buch. Der Autor kann sich auf den Inhalt konzentrieren, das Programm htmlbook übernimmt die Erstellung von Navigationsmenü, Navigationsblock mit Icons, Inhaltsverzeichnis und Stichwortverzeichnis. OPTIONEN -i --input-encoding= gibt das Encoding für die Projektdatei an. -o Name[,Name...] aktiviert optionale Abschnitte der Projektdatei. -s Name=Wert --set=Name=Wert setzt eine Variable, überschreibt Variablen, die im options-Abschnitt der Projektdatei gesetzt wurden. -h --help zeigt diesen Hilfetext an. -v --version zeigt die Versionsnummer an. -L --license zeigt die Lizenzbedingungen an. RÜCKGABEWERT Das Programm gibt bei Erfolg 0 zurück, alle anderen (positiven) Exit-Codes weisen auf Fehler hin. DATEIEN Die Projektdatei ist der Startpunkt von htmlbook. Sie gibt an, welche Textdateien unter Zuhilfename welcher Templates benutzt werden. Projektdatei ------------ Die Projektdatei besteht aus den Abschnitten "[options]", "[files]" und "[contents]". Weiterhin sind optionale Abschnitte der Form "[options:]", "[files:]" und "[contents:]" möglich, diese Abschnitt werden nur dann verarbeitet, wenn sie beim Programmstart mit der Option -o aktiviert wurden. Auf Windows-Systemen werden optionale Abschnitte mit dem Namen "windows" immer verarbeitet, auf Nicht-Windows-Systemen optionale Abschnitte mit dem Namen "non-windows". Der options-Abschnitt enthält Zeilen der Form "Schlüssel=Wert", folgende Schlüssel können verwendet werden: output directory Verzeichnis für die Ausgabedateien, muss leer sein, wird bei jedem Aufruf des output script gelöscht und neu angelegt. output script Ausgabescript, legt das Ausgabeverzeichnis neu an und kopiert die Daten dorthin. title Titel-Angabe. url URL unter der das Webangebot online steht. index file Dateiname für Text auf Startseite. html charset Zeichensatz für HTML-Dateien, "us-ascii", "utf-8" oder "ascii". template Dateiname für das Standard-Template ("web.hbt"). style Dateiname für die Standard-Style-Datei ("style.css"). page toc Flag: Seiteninternes Inhaltsverzeichnis anlegen. create toc Flag: Inhaltsverzeichnis anlegen (über alle Seiten). create index Flag: Stichwortverzeichnis (Index) anlegen. section numbers in index Flag: Abschnittsnummer in Index anzeigen. replace ampersand Flag: Zeichen & ersetzen (Standard: aus). tidy Flag: tidy zur Kontrolle und Korrektur verwenden. ln Flag: ln anstelle von cp verwenden. author Autor-Angabe. location Ortsangabe. write position Flag: Positionsangabe schreiben. section numbers in position Flag: Abschnittsnummer in Positionsangabe. shortcut icon URL zu favicon. icon toc Dateinamen für Icons in Navigationsleiste icon previous (Inhaltsverzeichnis, vorheriger Abschnitt, icon next nächster Abschnitt, Index). icon index impressum link URL zu Impressum. impressum page Text-Knoten für Impressum. Es kann entweder ein Impressum-Link oder ein Impressum-Knoten verwendet werden. chm Flag: HTML erzeugen, aus dem später eine CHM-Datei erstellt wird. chm language Sprachangabe für CHM-Projekt (Standard: "0x409 English (USA)"). js file Dateiname für JavaScript-Datei. inherit js Flag: JavaScript-Dateien von Eltern... erben. var Variable setzen (das erste Textwort auf der rechten Seite ist der Variablenname, der Rest der Zeile ist der Wert der Variablen). Der Abschnitt "[files]" listet die Namen zusätzlich zu kopierender Dateien, eine per Zeile. Der Abschnitt "[contents]" enthält die Baumstruktur für die Navigation. Jeder Unterabschnitt für einen Knoten beginnt mit dem Titel. Die Baumstruktur ergibt sich aus den Einrückungen. Gleich weit eingerückte Titel bezeichnen benachbarte Knoten innerhalb derselben Kollektion. Der Elternknoten eines jeden Knotens ist der letzte oberhalb befindliche Knoten, der weniger weit eingerückt ist. Auf einen Knoten-Titel können ein oder mehrere Zeilen folgen, die mit @ beginnen. Diese Zeilen enthalten Konfigurationsangaben zum Knoten: file = Datei Dateiname der Textdatei. input encoding = Encoding Encoding, falls kein BOM in Eingabedatei. suffix = String Dateinamen-Endung für Ausgabedatei. short = Kurztitel Kurzfassung des Titels für Navigationsmenü. Weiterhin sind die options-Angaben "html charset", "template", "style", "page toc", "write position", "replace ampersand", "tidy", "ln", "author", "location", "js file", "inherit js", "var", "icon toc", "icon previous", "icon next", "icon index" und "shortcut icon" erlaubt. Blätter (Knoten ohne weitere Unterknoten) müssen eine Angabe zur Textdatei haben, für andere Knoten ist dies optional. Template -------- Das Template gibt an, was zwischen den Tags und steht. Über Spezial-Kommandos der Form %%Kommando%% können u.a. der Text eingebunden werden, das Navigationsmenü bzw Navigationsblöcke eingefügt werden. Folgende Spezial-Kommandos können verwendet werden: %%contents%% fügt den Inhalt der Textdatei an dieser Stelle ein. %%title%% fügt den Titel des aktuellen Dokumentes ein. %%img %% fügt ein Bild ein. Folgende Optionen können verwendet werden: div[=Bool] div-Tag um img-Tag centered[=Bool] Bild zentriert zeigen, nicht linksbündig src=Datei Dateiname für Bilddatei alt="Text" Beschreibungstext title[="Text"] Titel (Standard: alt) caption[="Text"] Bildunterschrift (aktiviert div) longdesc=Datei URL der ausführlichen Bildbeschreibung border=Breite Bildrahmenbreite height=Höhe Bildhöhe width=Breite Bildbreite svg=Datei URL der Vektorgraphik (SVG-Format) svgwh[=Bool] Für SVG Abmessungen aus PNG/JPEG nutzen object[=Bool] SVG-Objekt erzeugen pdf=Datei URL der Vektorgraphik (PDF-Format) larger=Datei URL einer hochauflösenden Bildvariante ismap[=Bool] Flag: Bild ist eine Map usemap=Datei URL der Map name=name Name für das Bild id=ID ID für CSS-Styling class=Klasse Klasse für CSS-Styling align=Ausrichtung Ausrichtung des Bildes vspace=Abstand Vertikaler Abstand hspace=Abstand Horizontaler Abstand download[=Bool] Download-Links für Vektorgraphiken erzeugen cache Bildgröße in Cache zwischenspeichern für mehrmalige Verwendung desselben Bildes. Automatisch aktiv, wenn %%img%% in Template verwendet wird. %%menu %% fügt das Navigationsmenü ein. Folgende Optionen können verwendet werden: style=Stil Menü-Stil, "reverse" (Standard), "full", "current" oder "top". sub[=Bool] Flag: Kind-Knoten der aktuellen Seite anzeigen. %%navigation %% fügt einen Navigationsblock mit anklickbaren Navigationsicons ein. Folgende Optionen können verwendet werden: itop=Datei Icon für Inhaltsverzeichnis ("toc.png"). iprev=Datei Icon für vorherigen Abschnitt ("prev.png"). inext=Datei Icon für nächsten Abschnitt ("next.png"). ikind=Datei Icon für Stichwortverzeichnis ("index.png"). %%author%% fügt die Angabe zum Autor ein. %%location%% fügt die Angabe zum Ort ein. %%date %% fügt das aktuelle Datum ein. Folgende Optionen können verwendet werden: style=Stil Datums-Stil (derzeit nur "german" unterstützt). %%var %% fügt den Wert der angegebenen Variable ein. Folgende Optionen können verwendet werden: url[=Bool] Der Wert wird in einer Codierung passend für URLs ausgegeben. %%code %% schaltet das Code-Verhalten um. Folgende Optionen können verwendet werden: enable[=Bool] schaltet Code-Verarbeitung ein. on[=Bool] schaltet Code-Verarbeitung ein. disable[=Bool] schaltet Code-Verarbeitung aus. off[=Bool] schaltet Code-Verarbeitung aus. toggle schaltet Code-Verarbeitung um. %%a %% fügt einen Link ein. Folgende Optionen können verwendet werden: href=URL Ziel-URL des Links. name=Name Anker-Name (entweder href oder name erlaubt). text="Text" Link-Text (Standard: href-Angabe). title="Text" Link-Titel, wenn Maus über Link. target=Ziel Zielfenster oder -frame. type=Typ MIME-Typ. external[=Bool] Flag: Externer Link, überschreibt die automatische Erkennung. id=ID ID für CSS-Styling. class=Klasse Klasse für CSS-Styling. style=Stilangabe Direkte Stil-Angaben. hreflang=Sprache Sprache für die href-Angabe. charset=Zeichensatz Zeichensatz des Links. onblur=Script Script wenn Link den Fokus verliert. onfocus=Script Script, wenn Link den Fokus erhält. accesskey=Key Hotkey für den Link. tabindex=Index Tabulator-Reihenfolge durch Zahlenangabe. shape=Form Verweis-sensitiver Bereich bei Objekten. coords=Koordinaten Verweis-sensitiver Bereich bei Objekten. rel=Relation Vorwärts-Verknüpfung. rev=Revision Rückwärts-Verknüpfung. %%menuentry %% fügt die Darstellung eines Menüeintrages ein. Folgende Optionen können verwendet werden: item="Text" Mehrfach verwendbar bei hierarchischen Menüs. %%sourcefile %% stellt eine Datei in
-Umgebung
  				dar und bietet einen Download-Link an.
				Folgende Optionen können verwendet werden:
    file=Datei			Darzustellende Datei, Pflichtangabe.
    type=Typ			MIME-Typ der Datei.
    title="Text"		Titel für Link.

Textdatei
---------
Textdateien enthalten den eigentlichen Seiteninhalt.
Zur Strukturierung können Überschriften der Form
  .1	@name@	Überschrift
verwendet werden mit den Tiefen 1, 2, 3, 4 und 5. Aus diesen Tiefenangaben
wird dann 

...

erzeugt. Die Namensangabe ist optional. Ist sie vorhanden, wird ein mit Namen versehener Anker vor der Überschrift angelegt. Ohne die Namensangabe wird automatisch ein Anker-Name gebildet. Text-Dateien können ebenfalls die unter "Template" aufgeführten Spezial-Kommandos enthalten, mit Ausnahme von %%contents%%. Zusätzlich ist in Textdateien noch das folgende Spezialkommando erlaubt: %%index %% fügt einen Eintrag zum Stichwortverzeichnis hinzu. Folgende Optionen sind möglich: text="Text" Text (Pflichtangabe). name=Name Anker-Name (optional). reference[=Bool] Flag: Index-Eintrag bezieht sich auf einen bereits vorhandenen Anker (z.B. eine mit Namen versehene Überschrift oder einen explizit gesetzten Anker). HINWEISE Alle Textdateien, Templates, Style-Dateien und Bilder müssen lokale Dateien im aktuellen Verzeichnis sein. SIEHE AUCH http://dktools.sourceforge.net AUTOR Dirk Krause LIZENZ Mit dem Kommando htmlbook -L werden die Lizenzbedingungen angezeigt.