Spork auf ActivePerl
Vorwort
Ich möchte kurz eine kleine Anleitung bzw. Einleitung geben wie man
http://search.cpan.org/search?query=Spork&mode=all Spork unter ActivePerl zum laufen bekommt, da dabei ein paar Änderungen erforderlich sind. Außerdem ist es auch ganz hilfreich zu wissen welche Abhängigkeiten benötigt werden bzw. in welcher Reihenfolge sie installiert werden müssen.
Voraussetzungen
Auf dem von mir beschriebenen System (Windows XP Home Edition) ist
ActivePerl von
ActiveState in der Version 5.8.0 installiert. Des weiteren ist das Linux-Enviroment
CygWin installiert. Außerdem ist eine
make Implementierung für Windows namens
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q132084 nmake in einem Pfad installiert der auch in der Path-Variable aufgelistet ist.
Installation
Alle Benötigten Module sind von
CPAN zu erhalten.
Module:
- http://search.cpan.org/search?query=Spiffy&mode=all Spiffy
- http://search.cpan.org/search?query=IO::All&mode=all IO::All
- http://search.cpan.org/search?query=Template&mode=all Template
- http://search.cpan.org/search?query=Spoon&mode=all Spoon
- http://search.cpan.org/search?query=Kwiki&mode=all Kwiki
- http://search.cpan.org/search?query=Spork&mode=all Spork
Alle Module müssen mit der etwas an Windows angepasste Standard-Vorgehensweise wie auf CPAN beschrieben installiert werden:
tar -xf Modul.tar.gz
cd Modul
perl Makefile.PL
nmake
nmake test
nmake install
Anpassung von Modulen
Das Modul
Spork::Formatter greift auf die Funktion
abs_path aus dem Modul
Cwd zurück, welches jedoch bei dieser Funktion Portierungsprobleme aufweist. Wir verwenden deshalb behelfsweise FindBin, was im weitesten Sinne das macht was wir brauchen.
Der Abschnitt aus
Spork/Formatter.pm muss wie folgt abgeändert werden:
sub html {
require FindBin;#require Cwd;
my ($file, $link_text) = split /\s+/, $self->arguments, 2;
$link_text ||= $file;
$file = $self->hub->config->file_base . "/$file"
unless $file =~ /^\.{0,1}\//;
$file = $FindBin::Bin . "/$file";#$file = Cwd::abs_path($file);
qq{<a href="file://$file" } .
'target="file" style="text-decoration:underline">' .
$link_text . '</a>';
}
Desweiteren sind die Systemaufrufe um Bilder aus dem Internet downzuloaden noch auf *NIX-Dateisystem ausgerichtet.
Der Abschnitt aus
Spork/Slides.pm muss wie folgt abgeändert werden:
sub lwp_download {
my $self = shift;
my ($image_url, $image_file) = @_;
system "lwp-download $image_url";
}
Die erste Presentation
Nun erstellen wir uns mit
spork -new in einem Verzeichnis alle für eine Presentation erforderlichen Dateien.
Nun müssen wir noch ein paar Anpassungen der Config-Datei
config.yaml machen damit wir keine Problem bei der Erstellung haben:
- download method stellen wir auf lwp da nicht über all wget installiert ist.
- start command stellen wir auf start slides/start.html damit man die Presentation auch von der Konsole aus starten kann.
Alle andern Anpassungen der Datei config.yaml und Spork.slides müssen nach Anleitung vorgenommen werden.
Danach erstellen wir mit
spork -make alle HTML-Slides. Dieser Vorgang sollte ohne Fehler verlaufen wenn alles richtig eingestellt wurde.
Dann kann mit
spork -start die Presentation im Standard-Browser gestartet werden.
Rückfragen
Bei Rückfragen stehe ich gern zur Verfügung.
--
AlexKoeppe - 19 Sep 2004