[an error occurred while processing this directive]

technikum29 

 
 
Letztes Update dieser Datei:
22.12.2007

Lokale Kopien/Mirror von technikum29.de

Der Inhalt auf technikum29.de ist kopierrechtlich geschützt, das öffentliche Spiegeln der Webseite (Mirror) ist nicht gewünscht.

Private offline-Kopien können jedoch nicht verhindert werden. Wer eine solche braucht, kann sich das folgende Unix-Shellscript zuhilfe nehmen (benutzt wget).

Dieses Programm lädt sich von der technikum29.de-Seite alle erreichbaren Dateien runter und schreibt sie fuer die lokale Benutzung um. Anschliessend wird jeder Datei ein kleine Notiz, dass es sich um eine Offline-Version handelt, hinzugefuegt und die runtergeladenen Dateien werden in einem Tarball verpackt. Als Parameter ist der gewuenschte Dateiname des Tarballs anzugeben.

Sourcecode

(Version vom 22.12.2005, 20:00 Uhr)

#!/bin/sh
#
# Programm, um die technikum29.de-Seiten offline lesbar
# zu machen (fuer Museumspraesentation)
#
# laedt Daten in ein selbsterstelltes temporaeres Verzeichnis.
#
# Parameter 1: Name vom Tarball, das erstellt werden soll
# Wenn nicht angegeben, wird kein Tarball erstellt.
#

# der Server, von dem runtergeladen werden soll
# (z.B. lokal oder der echte)
T29SERVER="http://www.technikum29.de/"
# inkl. trailing slash bitte

# der Text, der jeder Seite angehaengt werden soll
INFOTEXT=$(cat << INFOEND
<!-- Notitz automatisch hinzugefuegt vom technikum29-Mirrorprogramm -->
<div style="border: 1px solid red; background-color: white; padding: 20px; margin: 40px;">
    Dies ist eine <b>lokale Kopie</b> von <a href="${T29SERVER}">${T29SERVER}</a>;
    erstellt am <b>`date`</b> mit der Hilfe des
    <a href="http://www.technikum29.de/etc/txt/mirror.shtm">technikum29 Mirror-Programms</a>
</div>
INFOEND
)
# spezieller Text vor INFOTEXT bei der absoluten Startseite index.html
START_INFOTEXT_PREFIX='<div style="position:absolute; bottom: 0; color: black; text-align: left; width: 100%">'

TEMPDIR=$(mktemp -d)
pushd $TEMPDIR
echo Nutze ${TEMPDIR} zum Download...

# Inhaltsseiten + Inhaltsbilder runterladen
echo Lade Inhaltsseiten runter...
wget --no-verbose --mirror --no-host-directories \
     --page-requisites --convert-links \
     --html-extension ${T29SERVER}

# Designbilder runterladen (werden nur per CSS eingebunden und
# von wget nicht erfasst)
echo Lade Designelemente runter...
wget --no-verbose --no-host-directories --no-parent \
     -A".png,.jpg,.jpeg" --mirror ${T29SERVER}shared/img/

# bloede Individualloesung fuer das Script der Startseite
T29STARTSCRIPT="shared/js/startseite.js"
echo Schreibe Script ${T29STARTSCRIPT} um...
sed 's#"/"+lang\[this.langcounter\]+"/"#lang[this.langcounter]+"/index.html"#' \
    ${T29STARTSCRIPT} > ${T29STARTSCRIPT}.tmp
mv -f ${T29STARTSCRIPT}.tmp ${T29STARTSCRIPT}

# Alle HTML-Dateien mit Notiz anreichern
echo Fuege allen HTML-Dateien Mirror-Notiz an...
find . -name '*.html' | while read FILE
	do if [[ $FILE = "./index.html" ]];
		# bei absoluter Startseite
		then echo ${START_INFOTEXT_PREFIX} >> $FILE
	fi
	echo ${INFOTEXT} >> $FILE
done

# Tarball machen, wenn Parameter angegeben
popd
if [[ -n $1 ]]
	then echo Erstelle Tarball ${1}...
	tar -jcvf "$1" --directory="${TEMPDIR}" .
	echo Tar.bzip ${1} erstellt. Fertig.
else
	echo Erstelle keinen Tarball
	echo Dateien im Verzeichnis ${TEMPDIR}, fertig.
fi

# EOF