~~NOCACHE~~
====== Commodore 64 Base ======
Das ist die Startseite
===== Grundlagen des Wikis =====
Diese Wiki basiert auf dem Gitrepo mit entsprechenden Anpassungen im Style und der Module
Auf dem Server 192.168.58.200 ist im Verzeichnis /var/www/html das Dokumentenroot c64base
Für ein Update im Verzeichnis c64base ein
git pull
ausführen.
Das Wiki läuft als apache2 Webserver, kann aber auch als PHP mini server laufen.
Dieser kann manuell aufgerufen werden mit
php -S 0.0.0.0.81 -t /var/www/html/c64base
Um den PHP Server automatisch zu starten müsste man einen Service dokuwiki-c64base in /etc/init.d erstellen
Das Script
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start: $local_fs $network $named $time $syslog
# Required-Stop: $local_fs $network $named $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description:
### END INIT INFO
SCRIPT="php -S 0.0.0.0:81 -t /var/www/html/c64base"
RUNAS=root
PIDFILE=/var/run/dwc64base.pid
LOGFILE=/var/log/dwc64base.log
start() {
if [ -f /var/run/$PIDNAME ] && kill -0 $(cat /var/run/$PIDNAME); then
echo 'Service already running' >&2
return 1
fi
echo 'Starting service…' >&2
local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!"
su -c "$CMD" $RUNAS > "$PIDFILE"
echo 'Service started' >&2
}
stop() {
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
echo 'Service not running' >&2
return 1
fi
echo 'Stopping service…' >&2
kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo 'Service stopped' >&2
}
uninstall() {
echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
local SURE
read SURE
if [ "$SURE" = "yes" ]; then
stop
rm -f "$PIDFILE"
echo "Notice: log file is not be removed: '$LOGFILE'" >&2
update-rc.d -f remove
rm -fv "$0"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|uninstall}"
esac
Somit kann das wiki auch als service gestartet, gestoppt, restarted werden
===== Aufbau des Wikis =====
Die Disketten-Directories waren in einer Textdatei untereinander aufgeschrieben
Diese wurde zerlegt und die einzelnen Dateien dann in xxx.dir.txt abgespeichert
Der nachfolgende Snippet zerlegte die Datei "64er_Sonderheft.txt" an der Trennmarke 'Image:' in Dateien mit dem Muster xx000 .
csplit -b %03d 64er_Sonderheft.txt /Image:/ '{*}'
===== Eleminieren von Leerzeilen =====
Kann man anwenden, wenn der Textabschnitt der Splittings keine Leerzeilen enthält.
for i in xx*;do sed -i '/^\s*$/d' $i;done
Die gesplitteten Dateien werden von xx000 in Dateien kopiert, deren Dateiname ein Begriff aus der Trennmarke enthält.
Hier muss ein Begriff gewählt werden, der nicht zu einer mehrfachen Überschneidung bei den Dateinamen führt.
for i in xx*;do cp "$i" `head -n 1 "$i" | cut -d'/' -f2 | cut -d'.' -f1`.d64;done
Am Ende wird aus den Dateien die Trennmarke (1. Zeile) gelöscht
for i in *.dir.txt; do sed '/^Image: /d' $i
===== Erstellen von Vorschaubildern aus PDF's =====
Es werden Vorschaubilder der ersten Seite eines PDF's mit 1200 px Breite erstellt.
for i in *.pdf;do echo "Bearbeite $i";pdftoppm "$i" "${i%.*}" -png -f 1 -singlefile;mogrify -resize 1200x "${i%.*}".png;done
===== Linksammlung =====
[[https://www.64er-magazin.de|www.64er-magazin.de]]