~~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]]