Hilfe:Wikibook lokal speichern

Hoch zum Lehrbuch

Hier findest du diverse Anleitungen, um ein Wikibook lokal auf dem eigenen Rechner zu speichern. Leider gibt es noch nicht für alle Betriebssysteme und Bücherarten eine Anleitung zum automatisierten Download. Dazu kommt, dass die beiden verschiedenen Trennungszeichen („:“ und „/“) für zusätzliche Schwierigkeiten bei den verschiedenen Vorgehensweisen führen.

Überall funktioniert aber die Anleitung „Per Hand“, dies ist allerdings der umständlichste Weg, der zumeist auch keine Navigation im lokal gespeicherten Buch ermöglicht.

Per Hand

Bearbeiten

Du kannst jede Internetseite mit deinem Browser (Mozilla Firefox, Microsoft Internet Explorer, o.ä.) speichern; z.B. mit Firefox über „Datei“ → „Seite speichern unter“.

Wenn du so alle Buchseiten in einen Ordner speicherst kannst du sie auch offline lesen. Allerdings nur mühsam, da die Verweise in den Büchern nicht funktionieren.

Automatisiert

Bearbeiten

Bash-Skript: get_wikibook.sh

Bearbeiten

Das Konsolenskript get_wikibook.sh ermöglicht es, automatisiert Wikibooks herunterzuladen, sowohl mit dem Trennzeichen „:“ als auch mit dem Trennzeichen „/“.

Zunächst musst du das Skript herunterladen: http://www.computer-dc.de/download/get_wikibook.sh (MD5-Prüfsumme).

Dann musst du das Skript ausführbar machen – z. B. über die Dateieigenschaften oder auf der Konsole mit

chmod +x get_wikibook.sh

Im Optimalfall genügt es nun, das Programm von der Konsole zu starten, wobei du nur den Buchnamen angeben musst:

./get_wikibook.sh Buch

Das Programm versucht dann, automatisch das Trennzeichen des Buchs zu erkennen. Schlägt dies fehl, erhältst du folgende Fehlermeldung:

Fehler: Konnte nicht ermitteln, ob das Buch das Trennzeichen : oder / verwendet
Bitte geben Sie das Trennzeichen an:
        get_wikibook.sh -s : BUCH               wenn das Buch das Trennzeichen : verwendet
        get_wikibook.sh -s / BUCH               wenn das Buch das Trennzeichen / verwendet

Du musst dann also mit -s : oder -s / das Trennzeichen angeben.

Weitere Informationen zu dem Skript erhältst du über

./get_wikibook.sh --help

und

./get_wikibook.sh --version
Bücher mit dem Trennungszeichen „:“
Bearbeiten

Bücher, die das Trennungszeichen „:“ verwenden, können sehr leicht mit der folgenden Vorgehensweise gespeichert werden. Hier funktionieren auch die Verweise. Öffnen sie eine Konsole/Terminal und führen sie folgende Befehle aus.

Buchtitel festlegen
Ersetzen sie im folgenden <Buchtitel> durch den Titel des herunter zuladenden Buches, Leerzeichen im Buchtitel müssen durch einen Unterstrich '_' ersetzt werden (z.B. muss "Mathematik: Wahrscheinlichkeitstheorie" zu "Mathematik:_Wahrscheinlichkeitstheorie" geändert werden):

buch="<Buchtitel>"

Verzeichnis erstellen
Lege Verzeichnis für das lokal gespeicherte Buch an und wechsle in dieses Verzeichnis:

mkdir -p ~/wikibooks/$buch
cd ~/wikibooks/$buch

Alle Dateien aus dem Wikibook herunterladen
Lade dann die Index-Datei für dein Buch

wget -nv -O index.html "https://de.wikibooks.org/w/index.php?title=Spezial%3APrefixindex&namespace=0&from=$buch"

Aus dieser Datei musst du die Adressen der restlichen Seiten extrahieren und diese downloaden:

wget -nv $(cat index.html | tr '"' '\n' | egrep "^/wiki/$buch" | sort -u | sed "s#^#https://de.wikibooks.org#")  

Zum Schluss müssen noch die Verweise angepasst werden:

for i in $(ls); do sed "s#href=\"/wiki/$buch#href=\"./$buch#g" $i > $i.temp; mv $i.temp $i; done

Fertig
Nun kannst du das Buch per Aufruf der Datei, deren Name der Buchtitel ist, ansehen.

Um eine neue Version des Buchs herunterzuladen, wiederhole die Schritte unter „Alle Dateien aus dem Wikibook herunterladen“.

Vielen Dank an die Autoren des Buchs Gambas für die Vorlage für diese Anleitung.

Wenn sie nicht gerne auf der Konsole arbeiten und Gnome installiert haben (sie müssen es nicht benutzen) können sie wie folgt vorgehen.

Bücher mit dem Trennungszeichen „:“
Bearbeiten

Bücher, die das Trennungszeichen „:“ verwenden, können sehr leicht mit der folgenden Vorgehensweise gespeichert werden. Hier funktionieren auch die Verweise.

Erstelle eine Textdatei mit der Dateiendung .sh und füge den folgenden Text ein:

#!/bin/bash
buch=$(zenity --entry --title "Download eines Wikibooks" --text "Bitte geben sie den Buchtitel an:")
buch=$(echo $buch | sed "s/ /_/g")
mkdir -p ~/wikibooks/$buch
cd ~/wikibooks/$buch
wget -nv -O index.html "https://de.wikibooks.org/w/index.php?title=Spezial%3APrefixindex&namespace=0&from=$buch"
if [ $? -ne 0 ] ; then
        zenity --error --title "Download eines Wikibooks - Fehler" \
          --text "Ein Fehler ist aufgetreten\! \nÜberprüfen sie die Internet-Verbindung und den Buchtitel."
fi
wget -nv -c $(cat index.html | tr '"' '\n' | egrep "^/wiki/$buch" | sort -u | sed "s#^#https://de.wikibooks.org#")
if [ $? -ne 0 ] ; then
        zenity --error --title "Download eines Wikibooks - Fehler" \
          --text "Ein Fehler ist aufgetreten\! \nÜberprüfen sie die Internet-Verbindung und den Buchtitel."
fi
for i in $(ls); do sed "s#href=\"/wiki/$buch#href=\"./$buch#g" $i > $i.temp; mv $i.temp $i; done
zenity --info --title "Download eines Wikibooks" --text "Herunterladen des Buches erfolgreich\!"

Dann musst du die Datei noch ausführbar machen. Dies machst du in den Dateieigenschaften (Nautilus: Reiter „Zugriffsrechte“, Häkchen bei „Datei als Programm ausführen“).

Danach brauchst du die Datei nur noch starten, alles versteht sich von alleine. Achte bitte darauf, bei Büchern mit Leerzeichen im Titel, diese durch Unterstriche zu ersetzen.

  NODES
INTERN 4