|
Eine statische Website mit pmWiki erstellen - Infos zur Programmierung von www.nadenau.de- Alle Angaben ohne Gewähr - 0. Allgemeines*)Die vorliegende Website funktioniert ohne Skripte; bei allen Seiten, die vom Hauptmenü aus erreichbar sind, handelt es sich um statische HTML-Seiten. Um trotzdem mit einfachen Mitteln für ein einheitliches Layout sorgen zu können, basiert der Web-Auftritt auf einem pmWiki, das lokal auf einem Computer betrieben wird - und damit indirekt doch auf (PHP-)Skripten. PmWiki ist eine Wiki-Software, die in PHP progrogrammiert ist, unter der General Public License vertrieben wird und auch für Nicht-Profis einfach zu installieren ist. Die im Netz unter http://www.nadenau.de verfügbare Website ist also ein statisches Abbild eines pmWikis. Die vorliegende Anleitung erläutert, wie das statiscxhe Abbild erstellt wurde. 1. Inhalte einpflegenUm die vorliegende Website zu erstellen, wurden zuerst die Inhalte in ein lokales pmWiki eingepflegt; dazu wird ein Apache2-Webserver genutzt, der so eingestellt ist, dass er nur auf der lokalen Maschine (als http://127.0.0.1) erreichbar ist. 2. Layout erstellenDas Layout eines pmWikis wird wesentlich durch das Skin festgelegt. Die entsprichenden Dateien befinden sich im Verzeichnis 3. Statisches Abbild der Datei erzeugenWie sich das statische Abbild eines pmWikis mit dem Programm wget erstellen lässt, wird auf http://www.pmwiki.org/wiki/Cookbook/ExportHTML (Stand beim Erstellen dieses Textes: 15.10.2012) ausführlich dargestellt. Mit dem Befehl 4. Dateinamen korrigierenEin Programm zum Korrigieren der Dateinamen lässt sich als Perl-Skript realisieren; das Skript cleanhtml4pmwiki.pl (s. auch Anlage) übernimmt nicht nur die Aufgabe, die Dateinamen selbst anzupassen, sondern es verändert auch die Links auf die Dateien mit den veränderten Namen - vorausgesetzt alle "so oder so" betroffenen html-Dateien liegen im Hauptordner *) Dieses Werk kann durch jedermann gemäß den Bestimmungen der Lizenz für Freie Inhalte, wie sie im Mai 2003 in der Version 1.0 vom Kompetenznetzwerk Universitätsverbund MultiMedia NRW, Universitätsstraße 11, D-58097 Hagen veröffentlicht wurde, genutzt werden. Anlage: Das Skript### Perl-Skript cleanhtml4pmwiki.pl ### ### zur Erstellung einer statischen Website aus einem pmWiki ### nach Abruf mit ### wget -r -k -np -p -l 0 http://127.0.0.1/pmwiki.php --html-extension ### ### Dokumentation unter www.nadenau.de ### ### (c) Matthias Nadenau 2012 ### ### Stand 18.10.2012 ### Das Programm steht unter der GNU General Public License (GPLv3) ### und wird ohne jegliche Gewähr ausgeliefert ### $tmpd="temp_txt_1544.txt"; opendir in, './' || die $!; @dir=readdir(in); foreach (@dir){ $name1=$_; s/pmwiki.php\?n=/fxd/; s/\?action=/__/; $name2=$_; if ($name1 ne $name2) { rename($name1,$name2) || die "Fehler: $!"; print $name1, " -> ", $name2, "\n"; } } closedir in ; opendir in, './' || die $!; @dir=readdir(in); foreach (@dir){ $dname=$_; if ((-f $_) && (/html$/)){ open QL, "<", $dname; open ZL, ">", $tmpd; $zeilenzahl=0; while (defined($_=<QL>)) { chomp($_); $zeilenzahl++; s/fxd/fxd/g; s/__/__/g; print ZL $_ . "\n"; } close QL; close ZL; unlink($dname) || die $!; if (-f $tmpd){ rename($tmpd,$dname) || die $!; } print $dname, ": ", $zeilenzahl, " Zeilen\n"; } } closedir in; ### ### jetzt erstellen wir noch index.htm[l] ### open QL, "<", 'pmwiki.php.html'; open ZL1, ">", 'index.html'; open ZL2, ">", 'index.htm'; while (defined($_=<QL>)) { chomp($_); print ZL1 $_ . "\n"; print ZL2 $_ . "\n"; } close QL; close ZL1; close ZL2; |