changes
[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/bg.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         for up in `grep ^${count} $file | awk -F^ '{ for(i=3;i<=NF;i++) print $i }'`; do
63                 cat >> $name << EOF
64         <listitem size="20">$up</listitem>
65 EOF
66         done
67         cat >> $name << EOF
68         <text/>
69 EOF
70         [ "$count" = "$total" ] && break
71 done
72 cat >> $name << EOF
73   </slide>
74
75 EOF
76
77
78 ((count = 0))
79 while [ "1" ]; do
80         ((count += 1))
81         kapitel=`grep ^${count} $file | awk -F^ '{ print $2 }'`
82         cat >> $name << EOF
83
84   <slide>
85     <header size="10"></header>
86     <header fgcolor="#8080FF" size="35">$kapitel</header>
87     <header size="20"></header>
88
89 EOF
90         ((j = 0))
91         for up in `grep ^${count} $file | awk -F^ '{ for(i=3;i<=NF;i++) print $i }'`; do
92                 cat >> $name << EOF
93     <text size="20">$up</text>
94         <text/>
95         <listitem size="20">muster</listitem>
96         <listitem size="20">muster</listitem>
97         <listitem size="20">muster</listitem>
98         <listitem size="20">muster</listitem>
99         <text/>
100 EOF
101         done
102         cat >> $name << EOF
103   </slide>
104 EOF
105         [ "$count" = "$total" ] && break
106 done
107
108 cat >> $name << EOF
109 </slides>
110 EOF
111
112 echo "done ..."