#!/bin/sh
export DATE="14.9.2005";SCRIPT=${0#/rom}
export TITLE="Verwaltung: Publizieren"
. ${SCRIPT%/*}/cgi-bin-pre.sh
cat< Mit dem Mikro-Autorensystem dieser Firmware ist es
recht einfach, die Webseiten dieses Gerätes zu ändern oder neue
hinzuzufügen. Für das Betriebssystem Windows müssen zwei
Programme installiert werden: Die Skriptsprache
Perl und ein Archivprogramm zum
Erzeugen von TAR-Archiven (z.B. UltimateZip).
Mit einem Standard-Linux sind diese Programme bereits installiert. Ein Perl-Skript (template.pl) liest eine HTML-Datei
(template.html) als Vorlage ein und sucht die Zeichenkette "%BODY%".
Danach liest das Perl-Skript nacheinander alle anderen HTML-Dateien im
Verzeichnis ein und extrahiert den Teil zwischen <BODY> und </BODY>.
Der extrahierte HTML-Teil wird in das Template an die Stelle %BODY% eingefügt
und das Ergebnis in ein neues Verzeichnis (./out-de/) geschrieben. Referenzierte Dateien (z.B. Bilder) kopiert das
Perl-Skript ebenfalls in das neue Verzeichnis. Die Zeichenkette "$(echo -n %)DATE%" wird durch den Datumsstempel der Quelldatei ersetzt. Die
Zeichenkette "$(echo -n %)TITLE%" wird durch die erste H1-Überschrift
der Quelldatei ersetzt. Beginnt der Dateiname der Quelldatei mit "cgi-bin",
werden Shell-Kommandos für die Ausführung durch den Webserver
eingesetzt. Eigene Shell-Kommandos kann man zwischen <SCRIPT LANGUAGE="shell"></SCRIPT>
in die Quelldatei schreiben. Bei der Ausführung durch den Web-Server
werden Shell-Variablen aufgelöst. Beispiele: "\$PWD" wird
als $PWD ausgegeben, "\$(ls /tmp)" listet den Inhalt des
Verzeichnisses /tmp. Das Ausgabeverzeichnis (./out-de/) kann mit
allen Unterverzeichnissen in ein TAR-, TGZ- oder TAR.GZ-Archiv gepackt
werden. Die Archiv-Datei kann danach über diese Verwaltungs-Seite übertragen
werden. Vorhandene Seiten (z.B. die Verwaltungs-Seiten) werden durch
diesen Vorgang nicht gelöscht. Hinweis: Im Autorenpaket sind 2 symbolische
Links nicht enthalten, die aber auf dem Gerät unter /www vorhanden
sind. Die Ausgabe "No ./netperf, No ./netserver" ist normal und
weist auf diese Tatsache hin. Hinweis für Windows-Benutzer: Sind die
Programme "tar" und "perl" installiert, können
die Linux-Befehle in der Windows-Eingabeaufforderung eingegeben werden.
Ersetze das Zeichen "/" durch den Backslash ("\"). Das
Perl-Script kann auch per Doppelklick auf den Dateinamen "template.pl"
gestartet werden. Schreibe gültiges HTML und beende offene <Tags>
mit </Tags>. Verwende dazu am besten einen validierenden HTML-Editor
oder einen Text-Editor und etwas Disziplin. Füge einen Verweis auf eine neue Seite zur Datei
template.html hinzu. Kopiere eine der vorhandenen Tabellenzeilen (z.B. <TR>...
Status ...</TR>) und ändere das Tag <A HREF="">
und den Text. Möglicherweise muss die linke Navigations-Spalte
breiter werden. Suche und ändere WIDTH="150" auf die gewünschte
Breite. Ein neues Unterverzeichnis benötigt auch eine neue
template.html. Diese wird durch das Perl-Skript gefunden und für
jedes Unterverzeichnis extra eingelesen. Um Platz zu sparen, sollten
Referenzen zu vorhandenen Grafiken auf "../images/" umgebaut
werden. Das TAR-Archiv wird vor dem Laden untersucht, um möglicherweise
vorhandene Unterverzeichnisebenen in der Archivdatei zu kürzen. Mehrere Sprachen können mit <SPAN LANG="xx">
nebeneinander geschrieben werden. Außerdem werden TITLE-, ALT- und
VALUE-Attribute nach dem Muster "Alle Sprachen!xx:Text für
Sprache A!yy:Text für Sprache B" ausgewertet. Das Perl-Skript
kann mit einem Parameter für die auszugebende Sprache aufgerufen
werden. Der Webseiten-Ladevorgang wurde abgebrochen.
Webseiten-Archiv (*.tar):
Eigene Webseiten erstellen
Funktionsweise
Kurzanleitung
Tipps
$ffout
" zflag= if [ -z "${ffout##*.tar.gz}" ] || [ -z "${ffout##*.tgz}" ]; then zflag=-z fi tardir=$(tar $zflag -tvf "$ffout" | awk '/^-/ {exit} /^d/ {print $6;exit}') mkdir /tmp/wwwtmp.$$/ tar -C /tmp/wwwtmp.$$/ $zflag -xf "$ffout" rm -f "$ffout" chown -R root:root /tmp/wwwtmp.$$/ chmod +x /tmp/wwwtmp.$$/$tardir/cgi-bin*>/dev/null 2>&1 chmod +x /tmp/wwwtmp.$$/$tardir/cgi-bin/*>/dev/null 2>&1 tar -cC "/tmp/wwwtmp.$$/$tardir" .| tar -xvC /www/ rm -rf /tmp/wwwtmp.$$/ echo "" else cat<
Der Webseiten-Ladevorgang wurde nicht ausgeführt.
EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh