diff --git a/scripts/convert-doc-to-wiki.sh b/scripts/convert-doc-to-wiki.sh new file mode 100644 index 00000000..8693495f --- /dev/null +++ b/scripts/convert-doc-to-wiki.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +cat_header() +{ + cat <<-EOT + ====== Dummy-Titel ====== + ---- + + ===== Links ===== + ---- + + * {{$namespace:$n, Stand `date +'%d.%m.%Y'`}} + + ===== Backlinks ===== + ---- + {{backlinks>.}} + + ===== Annotierte Version ===== + ---- + EOT +} + +strip() +{ + sed "s/^ *//; s/ *$//" | grep . +} + +field() +{ + grep "| *$2 *\(|\|$\)" $files | grep "pdfwiki\|binary" | cut -d\| -f$1 | strip +} + +cmd_name_extern_2_intern() +{ + field 3 "$1" +} + +cmd_name_intern_2_extern() +{ + field 2 "$1" +} + +cmd_uploads() +{ + cat $files | grep "pdfwiki\|binary" | cut -d\| -f3 | strip +} + +cmd_milk_dirs() +{ + local dirs="$@" + for d in $dirs; do + ls $d/* 2>/dev/null | while read f; do + l=`basename "$f"` + n=`cmd_name_extern_2_intern "$l"` + [ "$n" ] || { + echo "ignoring unknown file \"$l\"" + continue + } + [ -e "$n" ] && { + echo "ignoring existing file \"$l\"" + continue + } + type=$(field 1 "$l") + echo type=$type + case $type in + pdfwiki) + t=`echo $n | sed 's/\.[^.]*$//'` + txt="$t.txt" + [ -e "$txt" ] && { + echo "ignoring existing file \"$txt\"" + continue + } + cp "$f" "tmp-$n" + pdftotext "tmp-$n" + pdfimages -png -j tmp-$n $n + rm -f $n-*.pnm + cat_header "$l" "$n" > $txt.tmp + cat tmp-$txt >> $txt.tmp + mv $txt.tmp $txt + mv tmp-$n $n + rm -f tmp-$txt + ;; + binary) + cp "$f" "$n" + ;; + *) + echo "ignoring file with unknown extension: \"$f\"" + ;; + esac + done + done +} + +# ------------------------------------------------ here we go + +files=files.txt +namespace=files:doc:extern +eval set -- `getopt -o hn: -l namespace: -- "$@"` +while [ "$1" != -- ]; do +case $1 in + -n|--namespace) + namespace="$2" + shift + ;; + -h) + usage 0;; + *) + usage 1;; +esac +shift +done +shift + +cmd="${1/-/_}" +shift +eval cmd_$cmd "$@" +