added shell parser (unfinished) & added resolution info to content files
[lectures/dfb-slides.git] / create-xml
1 #!/bin/sh
2
3 if [ -z "$1" -o -z "$2" ]; then
4         echo "usage: $0 <name.xml> <metafile>"
5         exit 
6 fi
7 name=$1 ; file=$2
8
9 topic=`grep '^T' $file | awk -F^ '{ print $2 }'`
10 desc=`grep '^D' $file | awk -F^ '{ print $2 }'`
11 author=`grep '^A' $file | awk -F^ '{ print $2 }'`
12 email=`grep '^M' $file | awk -F^ '{ print $2 }'`
13 event=`grep '^E' $file | awk -F^ '{ print $2 }'`
14 location=`grep '^L' $file | awk -F^ '{ print $2 }'`
15
16 # print normal header
17 cat > $name << EOF
18 <?xml version='1.0'?>
19
20 <slides effect="slide top left, blend"
21         bgcolor="#000000" fgcolor="#FFFFFF" 
22         face="../ttf/decker.ttf" size="15" 
23         bgimage="../img/bg1.png" 
24         bullet="../img/bullet.png"
25         screen_width="1024" screen_height="768">
26
27   <slide effect="none">
28     <header size="10"></header>
29     <header fgcolor="#5080FF" size="80">$topic</header>
30     <header size="20"></header>
31     <header fgcolor="#5080FF" size="35">$desc</header>
32     <header size="40"></header>
33     <text>$author</text>
34     <text/>
35     <text>email: $email</text>
36     <text>event: $event</text>
37     <text>location: $location</text>
38   </slide>
39
40 EOF
41
42 total=`tail -1 $file | awk -F^ '{ print $1 }'`
43 ((count = 0))
44
45 cat >> $name << EOF
46   <slide>
47     <header size="10"></header>
48     <header fgcolor="#8080FF" size="35">Inhalt</header>
49     <header size="20"></header>
50
51 EOF
52 while [ "1" ]; do
53         ((j = 0))
54         ((count += 1))
55         kapitel=`grep ^${count} $file | awk -F^ '{ print $2 }'`
56         # j_max=`grep ^${count} $file | sed 's/\^/ /g' | wc -w`
57         # ((j_max -= 2))
58         cat >> $name << EOF
59    <text size="20">$kapitel</text>
60        <text/>
61 EOF
62         grep ^${count} $file | awk -F^ '{ for(i=3;i<=NF;i++) print "        <listitem size=\"20\">"$i"</listitem>" }' >> $name
63         cat >> $name << EOF
64         <text/>
65 EOF
66         [ "$count" = "$total" ] && break
67 done
68 cat >> $name << EOF
69   </slide>
70
71 EOF
72
73
74 ((count = 0))
75 while [ "1" ]; do
76         ((count += 1))
77         kapitel=`grep ^${count} $file | awk -F^ '{ print $2 }'`
78         cat >> $name << EOF
79
80   <slide>
81     <header size="10"></header>
82     <header fgcolor="#8080FF" size="35">$kapitel</header>
83     <header size="20"></header>
84
85 EOF
86         ((j = 0))
87         grep ^${count} $file | awk -F^ '{ for(i=3;i<=NF;i++) print "    <text size=\"20\">" $i "</text> \
88         <text/> \
89         <listitem size=\"20\">muster</listitem> \
90         <listitem size=\"20\">muster</listitem> \
91         <listitem size=\"20\">muster</listitem> \
92         <listitem size=\"20\">muster</listitem> \
93         <text/>" }' >> $name
94         cat >> $name << EOF
95   </slide>
96 EOF
97         [ "$count" = "$total" ] && break
98 done
99
100 cat >> $name << EOF
101 </slides>
102 EOF
103
104 echo "done ..."