added shell parser (unfinished) & added resolution info to content files
[lectures/dfb-slides.git] / cont2xml
diff --git a/cont2xml b/cont2xml
new file mode 100755 (executable)
index 0000000..dac9a51
--- /dev/null
+++ b/cont2xml
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+if [ -z "$1" -o -z "$2" ]; then
+       echo "usage: $0 <name.xml> <metafile>"
+       exit 
+fi
+trgfile=$1 ; srcfile=$2
+
+# general
+topic=`grep '#\ T' $srcfile | awk -F^ '{ print $2 }'`
+desc=`grep '#\ D' $srcfile | awk -F^ '{ print $2 }'`
+author=`grep '#\ A' $srcfile | awk -F^ '{ print $2 }'`
+email=`grep '#\ M' $srcfile | awk -F^ '{ print $2 }'`
+event=`grep '#\ E' $srcfile | awk -F^ '{ print $2 }'`
+location=`grep '#\ L' $srcfile | awk -F^ '{ print $2 }'`
+xwidth=`grep '#\ X' $srcfile | awk -F^ '{ print $2 }'`
+ywidth=`grep '#\ Y' $srcfile | awk -F^ '{ print $2 }'`
+
+# information needed to parse contents
+total=`grep '^[0-9]' $srcfile | tail -1 | awk '{ print $1 }'`
+echo "found $total chapters ..."
+((count = 0))
+
+# print normal header
+cat > $trgfile << EOF
+<?xml version='1.0'?>
+
+<slides effect="slide top left, blend"
+        bgcolor="#000000" fgcolor="#FFFFFF" 
+        face="../ttf/decker.ttf" size="15" 
+        bgimage="../img/bg.png" 
+        bullet="../img/bullet.png"
+        screen_width="$xwidth" screen_height="$ywidth">
+
+<slide effect="none">
+<header size="10"></header>
+<header fgcolor="#5080FF" size="80">$topic</header>
+<header size="20"></header>
+<header fgcolor="#5080FF" size="35">$desc</header>
+<header size="40"></header>
+<text>$author</text>
+<text/>
+<text>email: $email</text>
+<text>event: $event</text>
+<text>location: $location</text>
+</slide>
+
+EOF
+
+# contents overview page
+cat >> $trgfile << EOF
+<slide>
+<header size="10"></header>
+<header fgcolor="#8080FF" size="35">Inhalt</header>
+<header size="20"></header>
+
+EOF
+while [ "1" ]; do
+       ((j = 0))
+       ((count += 1))
+       cat >> $trgfile << EOF
+<text size="20">`grep ^${count} $srcfile | awk -F^ '{ print $0 }'`</text>
+<text/>
+EOF
+       grep ^\ ${count}\.[0-9] $srcfile | awk '{ print "<text size=\"20\">"$0"</text>" }' >> $trgfile
+       cat >> $trgfile << EOF
+<text/>
+EOF
+       [ "$count" = "$total" ] && break
+done
+cat >> $trgfile << EOF
+</slide>
+
+EOF
+
+# the conetent
+# to be continued ... ;)
+((count = 0))
+while [ "1" ]; do 
+       ((j = 0))
+       ((count += 1))
+       echo "creating content chapter $count ..."
+       cat >> $trgfile << EOF
+<slide>
+<header size="10"></header>
+<header fgcolor="#8080FF" size="35">`grep ^${count} $srcfile`</header>
+<header size="20"></header>
+</slide>
+
+EOF
+
+#      total_2
+
+# hunz's 1337.pl inserts content here ;)
+
+[ "$count" = "$total" ] && break
+done
+
+
+cat >> $trgfile << EOF
+</slides>
+EOF
+echo "done ..."