Startseite
english

Html2Slideshow

Download Installation Kurzanleitung Leistungen Motivation Alternativen

Download

Programm-Archiv
html2slideshow_0.72.zip
sha1 Prüfsumme
76f00aaff9c65f40c29bdb5658bc45ee3d109028
meine digitale Signatur für das Archiv
html2slideshow_0.72.zip.asc
Signatur am Mi 23 Juni 2010 22:21:31 CET mit DSA Schlüssel, ID 74A227D5.

Lizenz

Htm2Slideshow ist freie Software im Sinne der GNU General Public License.

Copyright (C) 2008, 2009, 2010
Michael Uplawski <michael.uplawski@uplawski.de>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Der vollständige, englische Text der Lizenz liegt im Programmarchiv, hier geht es zu einer deutschen Übersetzung: GPL, V3

hoch

Installation

Ruby

Da es sich bei Ruby um eine Interpreter-Sprache handelt, muss Ruby (ab Version 1.8.6) installiert sein, sonst funktioniert Html2Slideshow nicht. Wer das noch nachholen muss, sollte hier beginnen: Ruby Homepage.
Außerdem werden, um die grafische Oberfläche nutzen zu können, die Ruby/GTK2-Bindings gebraucht.

Version 0.6 ist die erste, deren grafische Oberfläche ich mit der GTK2-Bibliothek programmiert habe.

Auspacken

Es gibt keine Ruby-Gem für Html2Slideshow.

Das Zip-Archiv entpackt sich in ein Verzeichnis html2slideshow_[Versions-Kennzeichen]. Darin sind alle Dateien enthalten, die benötigt werden und sie liegen auch bereits dort, wo sie hingehören. Es kann also das gesamte Verzeichnis zuerst an seinen endgültigen Platz verschoben werden.

Linux

Unter Linux gehe ich vielleicht so vor:
mv html2slideshow_0.2.3 /usr/local/share/.
Das kann sich aber kein Mensch lange merken und wenn ich das Programm aktualisieren oder löschen möchte, liegt es in /usr/local/share vielleicht längst gut versteckt...

Darum verwende ich bei sowas immer Paco:
paco -lD mv html2slideshow_0.2.3 /usr/local/share
So. Jetzt muss noch dafür gesorgt werden, dass der Ruby-Interpreter bequem an das Start-Skript html2slideshow.rb herankommt. Dazu liegt im Programm-Verzeichnis bereits ein Shell-Skript html2slideshow.sh, das z.B. in /usr/local/bin oder an anderer Stelle im Suchpfad für ausfürbare Dateien untergebracht werden kann, eventuell auch einfach als symbolischer Link. Den Inhalt sollte man noch anpassen, damit es auch funktioniert. So sieht das Original-Skript aus:

#!/bin/sh
ruby /usr/local/share/html2slideshow_0.6/html2slideshow.rb "$@"

Für den Start des GUI-Programms sollte das Startskript durch den GTK-Dialog ersetzt werden, wie folgt

#!/bin/sh
ruby /usr/local/share/html2slideshow_0.6/html2slideshowGui.rb

Windows

Es gibt keinen Windows-Installer für Html2Slideshow

Das Programmverzeichnis kann an einem beliebigen Ort untergebracht werden, auch in c:\Programme\html2slideshow
Danach sollte die Batch-Datei html2slideshow.bat in den Pfad für ausführbare Dateien verlegt werden. Alternativ lässt sich natürlich der Aufruf des Ruby-Interpreters mit einem Programmsymbol auf dem Windows-Desktop oder in der Startleiste verknüpfen:

rubyw c:\Programme\html2slideshow_0.6\html2slideshowGui.rb

hoch

Kurzanleitung

Es gibt keine Langanleitung.

Diese Anleitung gilt auch nur für das Konsolenprogramm, da für die GUI ein eigenes HOWTO im Programmverzeichnis zu finden ist oder hier: HOWTO (englisch)

Ausgangspunkt kann ein Verzeichnis mit Bild-Dateien der unterstützten Grafikformate sein oder eine oder mehrere (X)HTML-Seiten, in denen solche Bilder verlinkt wurden. Aus solchen Seiten besteht bisher eigentlich mein ganzer Web-Auftritt.

Bis man sich durch den Text nach unten geskrollt hat, vergeht Zeit. Leute, die gerne nur die 20 Fotos anschauen, haben bei mir ziemliches Pech. Aber darum wende ich jetzt eben html2slideshow auf alle meine Provence-Seiten an und erzeuge rasch ein paar Diashows, völlig ohne Text (ich ignoriere die Dateiendungen .sh oder .bat für die Startskripte):

html2slideshow -s [lokales Web-Projekt]/Provence -t slideshow

Die beiden Parameter bedeuten:

-s oder --source
Quellverzeichnis
-t oder --target
Unterverzeichnis, in das die Diashows abgelegt werden. Oben wäre das etwas wie .../Provence/slideshow. Das Programm erzeugt das Zielverzeichnis bei Bedarf neu.
Der Parameter -t kann weggelassen werden, dann wird das Quellverzeichnis auch als Ziel verwendet.

Die anderen möglichen Parameter sind:

-l oder --local
sucht nach Bilddateien im Quellverzeichnis und nicht dort, wo Bildverweise in HTML-Seiten hindeuten.
-r oder --recursive
bezieht Unterverzeichnisse in die Suche nach Bilddateien ein (ohne Funktion, wenn HTML-Seiten durchsucht werden).
-h oder --help
erklärt den Programmaufruf mit allen Parametern.
-d oder --debug, gefolgt von true oder false
sorgt dafür, dass Protokolldaten auf den Bildschirm ausgegeben weren. Sie können diese Informationen in eine Datei umleiten mit
html2slideshow -s ... -t ... -d true > /tmp/log.txt
--version
Gibt die Versionsnummer aus.
hoch

Leistungen des Programms

Mein Ruby-Programm html2slideshow findet entweder in einem Verzeichnis die dort enthaltenen Bilddateien oder liest den Inhalt aller (x)html-Dateien in diesem Verzeichnis und extrahiert daraus alle Referenzen zu verlinkten Bildern. Zu jeder Seite, die solche Referenzen enthält, wird danach eine neue XHTML-Seite erzeugt, die beim Aufruf im Browser eine JavaScript-Diashow der gefundenen Bilder anzeigen kann. Werden als Quelle keine HTML-Dateien verwendet, entsteht statt dessen eine Diashow aus den Bildern in einem Verzeichnis.

Die Bild-Dateien selbst, bleiben stets wo sie sind und werden auch von dort für die Diashow geladen. Es wird auch kein Bild in seiner Größe angepasst. Die Bilder müssen also vor dem Erzeugen der Diashow bereits so dimensioniert werden, dass sie ins Browserfenster passen. Der Platz, den die Bedienelemente der Diashow beanspruchen, muss dabei berücksichtigt werden.

Zur Zeit verweigere ich dem Microsoft-Internet-Explorer den Zugang zu den erzeugten Seiten, weil ich für die Fehldarstellungen in diesem Browser keine Verantwortung übernehmen möchte.

Status

Beginnend mit Version 0.4, sollen Änderungen im Programm und vielleicht auch Ankündigungen solcher Änderungen auf dieser neuen Seite aufgelistet werden (englisch): History of changes.

Es funktioniert.
Es funktioniert nicht alles so, wie ich es mir wünsche. Ich bin zufrieden damit, in meiner aktuellen Lieblings-Pogrammiersprache ein Programm geschaffen zu haben, das mir selbst schon jetzt ein bisschen nützlich ist. Darüber hinaus bin ich ziemlich überzeugt davon, dass trotz der hin und wieder noch unbeholfen wirkenden Umsetzung, mein Ruby- Code nicht schlecht ist und die Software sogar recht stabil arbeitet. Freilich kann überall noch geschraubt und poliert werden.

Unterstützte Bildformate

Die erzeugten Diashows werden JPEGs, GIFs oder PNGs enthalten, die Formate, die man gewöhnlich im Web findet. Allerdings untersuche ich keine Datei nach entsprechenden Header-Daten, um etwa die Kompatibilität mit Web-Browsern sicherzustellen. Jede Datei, die eine der folgenden Dateiendungen aufweist, wird folglich eingeschlossen: jpg, jpeg, jp2, png, gif.

Die Shoes-Version des Programms unterstützt darüber hinaus auch JNG-Dateien (auch wenn Ihr Browser das nicht tut).

Anpassungen nach dem Generieren

Jeder einzelnen Diashow-Seite liegt die gleiche Vorlagendatei zugrunde, dazu werden eine JavaScript- und eine CSS-Datei eingebunden. Letztere werden im gleichen Verzeichnis neben den Diashow-Dateien abgelegt und können dort auch angepasst werden, um z.B. das äußere Erscheinungsbild der Diashows zu ändern.

Wichtig!

Nach dem Generieren enthalten die Diashow-Dateien feste Pfade zu den angezeigten Bildern. Wenn in den zugrundeliegenden (X)HTML-Seiten mit relativen Pfaden gearbeitet worden ist, werden diese nur an die neue Verzeichnis-Struktur der Diashow angepasst. Ein Verschieben der Diashow-Dateien macht diese Pfade ungültig, die Diashow funktioniert dann nicht mehr!

hoch

Motivation

Ein paar der animierten Bilder-Galerien, die man im Web seit langer Zeit findet, hatten mich angespornt, etwas ähnliches mit meiner Web-Site zu verknüpfen. Dabei war der erste Gedanke, auf einen vorhandenen Dienst zurückzugreifen, um alle Fotos auch separat von den langen Texten, in die ich sie immer einpacke, zu präsentieren.

Keine der Lösungen, auf die ich gestoßen bin, hat mir gefallen. Es ist viel zu kompliziert, Leute erst zu einer fremden Web-Site zu leiten, wo sie dann noch ein Passwort eingeben und vielleicht sogar erst einen Account registrieren müssen, nur, um meine paar Fotos am Stück ansehen zu können... Wer braucht das?

Philosophie

Meine Web-Seiten sind bisher recht statisch, d.h. ohne viele dynamische Elemente präsentieren sie Fotos und Text. Einerseits möchte ich auch weiterhin auf JavaScript verzichten, soweit es geht. Andererseits benötigen die Diashows JavaScript, um die Bilder gegeneinander auszutauschen.
Der Kompromiss besteht darin, dass ich wiederum die Fotos jeder thematische Seite in eine separate Diashow überführe und nicht etwa nur eine einzige Diashow generiere, in der ich dann die Beschriftung umschalte, je nachdem, wo der Besucher gerade hergekommen ist.

Maximal verdoppelt sich damit die Zahl der Web-Seiten. Der Generator nimmt mir die Arbeit ab, so dass mich dieser Umstand völlig kalt lässt. Dagegen bleibt der JavaScript-Code auf das Nötigste beschränkt und weitgehend fehlerunanfällig (Fehler des MS-Internet-Explorers ignoriere ich hier).

Die Masse an Diashow-Dateien wäre dann ein Problem, wenn ich einzelne daraus oder alle nachträglich ändern wollte. Es gilt aber für jeden selbstgebauten Generator, dass er eigentlich schon kaputt ist, wenn seine Ausgaben nicht gleich und unverändert benutzt werden können. Also würde ich eher das Programm Html2Slideshow ändern, meine ganzen Diashows wegwerfen und dann neu erzeugen.

So ist das gedacht. Eine Interpretersprache wie Ruby ist dafür auch wie geschaffen: Der Quellcode ist das Programm, es wird auch nicht erst irgendeine XML-Soße verfüttert oder massig Konfiguration fällig, sondern gleich der Generator modifiziert und zack. Fäddich.

hoch

Alternativen

MagicLantern

Hier geht es um ein Programm, dass nicht dafür geschrieben wurde, Diashows im Internet zu veröffentlichen, sondern solche Fotoshows zu konfigurieren und in einer Instanz von MagicLantern (auch auf einem anderen PC) laufen zu lassen.

Ich weiß nicht, ob ich als Fan von Paul Lutus durchgehe. Eigentlich glaube ich, seit Elkie Brooks Minutes kein Fan mehr von irgend jemandem zu sein.
Aber die Produktivität dieses Mannes und die beinahe bedrückende Qualität seiner technischen oder redaktionellen Erzeugnisse hat schon seit langem meinen Respekt, auch, wenn ich in vielen Dingen anderer Meinung bin.

Aber zur Software: MagicLantern ist erst einmal das, was man unter einem typischen Diashow-Programm versteht. Es lassen sich damit Bilder von der Festplatte zu einer automatisch oder manuell gesteuerten Diashow zusammenstellen. Das Programm bietet einiges an Optionen, die ich nicht erkläre. Es gibt auch eine vollständige Online-Hilfe.

MagicLantern ist ein Java-Programm. Das heißt zum Beispiel, dass es auf allen Betriebssystemen läuft, für die eine passende Java-Umgebung installiert werden kann. Paul Lutus macht keine exakten Angaben zur erforderlichen Java-Version, ein Java5- oder 6-Release sollte aber in jedem Fall funktionieren. Zum Anderen bedeutet Java aber, dass man sich anders mit der Software befassen muss, als es andere Programme verlangen. So kann eine speicherintensive Operation, wie die Erzeugung der Minibilder in MagicLantern zusammen mit der ohnehin laufenden Java-Runtime-Umgebung erheblich die Resourcen des PCs beanspruchen. Das tun andere Programm ganz genau so, allerdings ist die Java-Umgebung normalerweise nicht automatisch darauf vorbereitet. Der Autor empfielt, den Speicher für die Java-Umgebung mit dem Startparameter -Xmx1000m gleich üppiger zuzuweisen.

Unterm Strich ist MagicLantern in meinen Augen das ausgereifteste GUI-Programm zur Erzeugung solcher Diashows, das ich kenne, meine eigenen Versuche inbegriffen. Es gibt sonst nur Konsolenprogramme, die mir ähnlich gut gefallen; die gehöhren aber wohl in eine andere Kategorie. Ω

hoch

Startseite
Ältere Versionen von Html2Slideshow in der Shoebox
2007, 2008, 2009, 2010 Michael Uplawski e-mail address