Eine erste Idee
Eine ganze Weile schon benutze ich das Programm Calibre, um meine e-Books zu katalogisieren. Hierbei hatte ich die Idee, dass es ganz schön wäre, die Inhalte der e-Books schon vorab, in der Detailsansicht sehen zu können. Zu diesem Zweck wollte ich aber nicht das Feld "Kommentare" missbrauchen, sondern ein eigenes, Nutzer definiertes Feld benutzen. Diesem Feld gab ich den Namen "#content" (Beschriftung auf deutsch: Inhalt), welches nur in der Detailsansicht, und dort vor den Kommentaren angezeigt wird.
Schnell stellte sich heraus, dass die Nutzung bei vielen e-Books mit einer Menge Arbeit verbunden sein würde. Die Frage war: könnte man den Aufwand irgendwie automatisieren? Dazu müsste man irgeneine Quelle für den Inhalt anzapfen und den Inhalt generieren.
Zwischenschritt: Inhalteverzeichnis mit Ruby generieren
Als Quelle für den Inhalt standen ja die Lesezeichen für die e-Books zur Verfügung. Da ich zur gleichen Zeit mit der Programmiersprache Ruby experimentierte, kam mir die Idee, ein Ruby Script zu schreiben, welches die Lesezeichen aus einem e-Book extrahieren und in geeignetem Format in ein File schreiben sollte. Das gelang auch für die beiden Formate "EPUB" und "PDF". Für das PDF Format musste allerdings noch eine Zusatzsoftware bemüht werden: der PDFtk Server, ein Kommandozeilen - Werkzeug und freie Software.
Der nächste Schritt war dann, an dem Script zu feilen und noch eine Reihe von Kommandozeilen - Switches zu implementieren.
Die "vollautomatisierte" Lösung
Auch diese Lösung stellte mich nicht voll zufrieden. Man musste
- Kommandozeilenparameter bereitstellen, z.B. den Pfad des e-Books
- den Aufruf tätigen
- den generierten Inhalt in einem Editor öffnen
- per Copy & Paste den Inhalt in Calibre übertragen
Fazit: also doch noch eine Menge manuelle Bedienschritte
Daher war die nächste Idee nur konsequent: Man müsste ein Plugin haben, das das Inhalt - Feld per Knopfdruck erzeugt. Entstanden ist somit ein Nutzerinterface - Plugin, welches per UI - Kommando alle Schritte automatisch ausführt. Zudem ist dieses Plugin auch noch konfigurierbar, so dass die Kommandozeilen - Switches auch noch variiert werden konnten.
Und das ist das Ergebnis: das Plugin "Definiere Inhalt", welches zudem noch in den Aufruf - Parametern konfigurierbar ist.
Eliminierung von Abhängigkeiten
Das oben geschilderte Plugin krankte an einem Fehler: Es benutzte ein externes Tool Pdftk.exe und es war eine Ruby Installation nötig, um bestimmte Ruby Scripts auszuführen. Diese Abhängigkeiten wurden von mir eliminiert, auch dank freundlicher Hinweise von Kovid Goyal. Für die neueste Version des Plugins sind keine weiteren Voraussetzungen zu erfüllen, nur die neueste Calibre Version ist zu benutzen (ab 4.0).
Ein weiterer Mangel war der unverständliche Name des Plugins. Das wurde im Mobile-Read - Forum kritisiert. Ich habe mich daher entschlossen, das Plugin umzubenennen. Es heißt jetzt: Toc View Generator (zu deutsch: Inhaltsverzeichnis Ansicht Generator)