exchanged render.c with patch aginst orig
[lectures/dfb-slides.git] / parse.pl
1 #!/usr/bin/perl
2
3 @content=<STDIN>;
4 chomp @content;
5
6 @slide=();
7
8 @actions=( "",
9                             "slide top",
10                                 "slide top right",
11                                 "slide top left",
12                                 "slide bottom",
13                                 "slide bottom left",
14                                 "slide bottom right",
15                                 "slide left",
16                                 "slide right");
17
18 print "<?xml version='1.0' encoding='iso-8859-1'?>\n";
19 print "<slides bgcolor=\"#222266\" fgcolor=\"#9999ff\" 
20         face=\"../ttf/decker.ttf\" size=\"15\"
21         bullet=\"../img/bullet.png\"
22         screen_width=\"1024\" screen_height=\"768\">\n";
23
24 @topics=();
25
26 foreach(@content) {
27         if((/^\d/) or (/^ \d/)) {
28                 push(@topics,$_);
29                 #print STDERR "$_\n";
30         }
31 }
32
33 $topic=0;
34
35 push(@content," 23");
36
37 foreach(@content) {
38         s/\#.*//;
39         s/&/&amp;/g;
40         s/</&lt;/;
41         s/>/&gt;/;
42         
43         #s/ue/ü/g;
44         #s/ae/ä/g;
45         #s/oe/ö/g;
46         
47         s/Ue/Ü/g;
48         s/Ae/Ä/g;
49         s/Oe/Ö/g;
50         # unterpunkt
51         if(/^ \d/) {
52                 if(@slide) {
53                         print "<slide>\n";
54                         pop(@slide);
55                         print STDERR "$topics[$topic]\n";
56                         print "<header size=\"20\" fgcolor=\"#22FF22\">$topics[$topic]</header>\n<text></text>\n";
57                         foreach(@slide) {
58                                 if(/^  \+ /) {
59                                         s/\+//;
60                                         print "<text></text>\n<listitem fgcolor=\"#ff00cc\" size=\"20\">$_</listitem>\n";
61                                 }
62                                 elsif(/ \+ /) {
63                                         s/\+//;
64                                         print "<text></text>\n<listitem size=\"20\">$_</listitem>\n";
65                                 }
66                                 else {
67                                         print "<text>$_</text>\n";
68                                 }
69                         }
70                         print "</slide>\n\n";
71                         #$topic++;
72                 }
73                 @slide=();
74                 $topic++;
75                 $_=$topics[$topic];
76                 if(/^\d/) {
77                         $topic++;
78                 }
79         }
80         # ueberpunkt
81         elsif (/^\d/) {
82                 
83         }
84         # normaler content
85         else {
86                 push(@slide,$_);
87         }
88 }
89
90 print "</slides>\n";