Administration


Wiki-Formate mit sed konvertieren

Einige Seiten der letzten Informatiktreffpunkte mussten aus dem Dokuwiki-Format in das PM-Wiki-Format konvertiert werden. Das geht mit folgenden Skripten eine Runde leichter. Das Bash-Skript arbeitet alle txt-Dateien in einem Verzeichnis ab und konvertiert sie:

#!/bin/sh
# dokuwiki2pmwiki.sh
# 2011-02-20 - Jens Stolze

for i in *.txt
do
    echo $i
    sed -f ~/.doku2wiki $i >   ${i%.*}.pm
done

Zusätzlich wird im Benutzerverzeichnis eine Datei .doku2wiki benötigt, in der steht, was wie durch sed ersetzt wird:

s/^====== \(.*\) ======/\!\1 /g
s/^===== \(.*\) =====/\!!\1 /g
s/^==== \(.*\) ====/\!!!\1 /g
s/^=== \(.*\) ===/\!!!!\1 /g
s/^==\(.*\) ==/\!!!!!\1 /g
s/^= \(.*\) =/\!!!!!!\1 /g
s/^  \*/*/g
s/^    \*/**/g
s/^      \*/***/g
s/^  -/#/g
s/^    -/##/g
s/^      -/###/g
s| //| ''|g

Homepagearbeiten mit Skripten automatisieren

Alle index.html-Dateien in 2 Ebenen finden:

find . -maxdepth 2 -name 'index.html'

Alle index.html-Dateien in 2 Ebenen finden, in denen das Wort "web" vorkommt:

find . -maxdepth 2 -name 'index.html' -exec grep web\-spruchmaschine {} \;

Mit der folgende Zeile wird in ausgewählten index.html-Dateien die Zeichenkette "netzwerke/" durch "netzwerke/simulation-filius/" ersetzt:

find . -maxdepth 2 -name 'index.html' -exec sed 's|netzwerke\/|netzwerke\/simulation\-filius/| {} \;

Die folgende Zeile dient dazu, dass alle ausgewählten Dateien mit tidy nach HTML5-Syntax gecheckt werden:

find . -maxdepth 2 -name 'index.html' -exec tidy -config ~/.tidy-html5.cfg {} \;

Von Interesse ist noch der Inhalt der Datei tidy-html5.cfg:

bare:no
clean:no
fix-bad-comments:yes
fix-backslash:yes
indent:yes
indent-attributes:no
indent-spaces:2
char-encoding:utf8
replace-color:yes
wrap:90
wrap-asp:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
hide-comments:true
tidy-mark:false
doctype:'<!DOCTYPE html>'
sort-attributes:alpha
vertical-space:true
output-xhtml:no
wrap-attributes:false
break-before-br:false
new-blocklevel-tags:ablocklevel,article,aside,canvas,dialog,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary
new-inline-tags:video,audio,canvas,ruby,rt,rp,time,meter,progress
Zuletzt bearbeitet am 11.09.2012 20:09 Uhr