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