Javascript
 

 Automatische Indexerstellung

Erläuterungen


Basispfad:
Dateiliste: Anzahl Dateien darin:


Folgender Text wird
 
vor + +
nach  
dem markierten Schlüsselwort eingefügt.  
Auf diese Stelle verweist später der Indexeintrag.

Unten angezeigte Datei:    ist die . in der Dateiliste.
4.) Blättern in Dateiliste:
Nr.  

Der Text
zwischen  Einträge gefunden.
und
wird gesucht und erscheint als Eintrag im Index.

Erläuterungen

Dieses Programm dient zum automatischen Erzeugen eines Index für eine Webpräsenz, die sich auch über viele Seiten erstrecken kann.
Ursprünglich entwickelt habe ich das Programm, um für mein Buch Das Geheimnis der Computer, das auf der Webseite www.LilaLupe.de verfügbar ist, einen Index zu erstellen. In der Papierversion gab es einen, weil das in Word so herrlich einfach ist, und ich wollte die Onlineversion genauso komfortabel gestalten, was sich mit meinem einfachen html-Editor aber als sehr mühsam erwies.
Die Handhabung meines Programms ist sicherlich etwas holprig, aber ich habe es als eine wesentliche Erleichterung bei der Indexerstellung empfunden.

Der Bearbeitungsablauf gliedert sich in mehrere Schritte, die mit den durchnummerierten Schaltflächen verdeutlicht werden sollen.

Als erstes sind aber einige Voraussetzungen zu schaffen, damit das ganze funktionieren kann:

  1. Diese Webseite mit dem darin enthaltenen Javascript-Programm muss lokal auf dem Rechner gespeichert sein.
  2. In demselben Verzeichnis wie diese Webseite muss sich das Java-Applet JSfileopener.class befinden, das ich aus dem Selfhtml-Forum habe, das Sie aber auch hier herunterladen können.
  3. In demselben Verzeichnis wie diese Webseite muss sich ein Unterverzeichnis befinden, das die Dateien der zu indizierenden Webpräsenz enthält. Dieses Verzeichnis wird später als Basispfad angegeben. Der Standardname ist "werk".
    Das Werk-Verzeichnis kann eine Unterverzeichnisstruktur enthalten.
  4. Im Werk-Verzeichnis muss sich eine Textdatei befinden, die eine Liste aller zu indizierenden Datein im Werk-Verzeichnis beinhaltet.
    Diese Datei lässt sich unter DOS sehr leicht mit dem Befehl dir >dateiliste.txt /ON /B /S erzeugen.
    Wenn eine Unterverzeichnisstruktur existiert, muss der Pfad ab dem Basisverzeichnis mit angegeben sein.
    Der Name dieser Datei wird später als Dateiliste eingegeben.

Nun die einzelnen Schritte der Indexerzeugung:

  1. Geben Sie in die dafür vorgesehenen Felder den Basispfad (mit abschließendem /)und den Namen der Dateiliste ein.
  2. Klicken Sie auf Schaltfläche 1.) Liste laden.
    Daraufhin wird Ihnen unter der Schaltfläche angezeigt, wie viele Dateien in der Liste stehen und die erste Datei wird in das große Bearbeitungsfenster geladen.
  3. Markieren Sie im Bearbeitungsfenster die erste Stelle, die später vom Index aus angesprungen werden soll.
  4. Klicken Sie auf die Schaltfläche 2.) Stichwort auswählen.
    Der markierte Text wird in das kleine Bearbeitungsfenster unter der Schaltfläche übernommen.
    So wie das Stichwort in diesem Fenster steht, wird es später im Index aufgeführt. Deswegen können Sie es hier bearbeiten und es empfihlt sich
    1. die Einträge einheitlich groß zu schreiben; zwar wird bei der späteren Indexsortierung unabhängig von Groß- und Kleinschreibung sortiert, aber ein klein geschriebener Eintrag steht später auch klein im Index.
    2. darauf zu achten, dass gleiche Stichworte immer mit exakt gleichem Indexeintrag versehen werden, damit sie später unter einem Eintrag zusammengefasst werden (z.B. immer im Singular schreiben)
  5. Klicken sie anschließend auf die Schaltfläche 3.) Stichwort eintragen.
    Dadurch wird der in Schritt 3. markierte Text im Bearbeitungsfenster von den Markierungen umschlossen, die in den Eingabezeilen hinter vor und nach stehen.
    Diese Eingabezeilen sind vorbelegt und brauchen normalerweise nicht geändert werden, es sei denn, Sie wollen mehrere verschiedene Stichwortverzeichnisse erzeugen.
    Die Umklammerung des Stichworts setzt sich aus zwei Tags zusammen:
    1. ein <span>-Tag, das den Text als Indexeintrag markiert
    2. ein <a name=...>-Tag, das die Einsprungmarke für den Link aus dem Index an diese Textstelle bildet. 
    Das <a name=...>-Tag beinhaltet das von Ihnen als Indexeintrag bearbeitete Stichwort und muss natürlich auch nach dem Stichwort wieder geschlossen werden. Deshalb steht hinter dem Stichwort noch ein Formularfeld, das die schließende Tag-Klammer enthält. Dieses Feld können Sie an dieser Stelle nicht bearbeiten; es ist identisch mit der später beschriebenen Eingabe im Feld und, die das Ende eines Indexeintrags markiert.
  6. Wiederholen Sie die Schritte 3. bis 5. bis alle Indexeinträge in dieser Datei markiert sind.
  7. Nun müssen Sie die fertig bearbeitete Datei speichern. JavaScript kann leider (oder Gott sei Dank ?!) nicht unmittelbar auf Speichermedien zugreifen, aber die geänderte Datei wird bei jedem Verlassen des Bearbeitungsfensters (also auch beim Wechseln zu einem anderen Programm) in die Zwischenablage kopiert. Sie können sie also in einem beliebigen Editor aus der Zwischenablage einfügen und speichern. Zur Erleichterung steht über dem Bearbeitungsfenster der Name der bearbeiteten Datei.
    (Falls Ihr Browser die Methode execCommand() nicht unterstützt, müssen Sie die Datei manuell in die Zwischenablage kopieren.)
    Grundsätzlich kann im Bearbeitungsfenster jede Textbearbeitung durchgeführt werden.
  8. Mit den Schaltflächen im Abschnitt vier können Sie nun die restlichen Dateien aus der Liste laden und auf die selbe Weise bearbeiten wie unter 3. bis 7. beschrieben.
    Nächste zeigt die nächste Datei in der Liste an, Vorige lädt die Datei, die vor der gerade angezeigten in der Liste steht und durch eingabe einer Nr. und Klick auf laden können Sie eine beliebige Datei aus der Liste direkt anspringen.
    Die Nummer der gerade geladenen Datei steht auch über dem Bearbeitungsfenster.
    Bevor eine neue Datei geladen wird, werden Sie mit einer Meldung daran erinnert, dass die gerade gemachten Änderungen verloren sind, wenn Sie nicht gespeichert haben. Wenn Sie auf Abbrechen klicken, können Sie das Speichern noch nachholen, bzw. die geänderte Datei steht (wenn Ihr Browser execCommand() unterstützt) noch so lange in der Zwischenablage, bis Sie an der nächsten Datei eine Änderung vorgenommen haben.
  9. Wenn alle Dateien bearbeitet sind, erfolgt im letzten Schritt die Erstellung des Index. Dazu müssen Sie auf die Schaltfläche 5. Index erzeugen klicken.
    Das Programm durchsucht dann alle Dateien in der Dateiliste nach Einträgen, die zwischen den Eingaben in den Feldern zwischen und und stehen. (In der Regel sollten diese Eingaben identisch sein mit denen, die beim Markieren der Stichworte verwendet wurden.
    Der Text, der zwischen diesen Markierungen, also innerhalb des <a name=...>-Tags aus Nr. 5b, gefunden wird, ist das Stichwort das in den Index aufgenommen wird. Der Text im Verweis ist der Dateiname ohne .html.
    Mehrere Verweise zum selben Stichwort werden als Liste zusammengefasst, die Reihenfolge ergibt sich dabei aus der Reihenfolge in der Dateiliste.
    Es werden Abschnitte mit Anfangsbuchstaben erzeugt, die vom Beginn der Indexseite aus angesprungen werden können.
  10. Die Ausgabe erfolgt in ein neues Fenster. Der Quelltext dieses Fensters muss als html-Datei im Werk-Verzeichnis gespeichert werden, damit die Links funktionieren.

Zum besseren Verstehen und Ausprobieren können Sie hier ein zip-Archiv laden, in dem das Programm, das Java-Applet sowie ein paar Beispieldateien zum Spielen enthalten sind.