jaja
[lectures/dfb-slides.git] / parse.pl
index d5695f2..ba97090 100755 (executable)
--- a/parse.pl
+++ b/parse.pl
@@ -4,30 +4,94 @@
 chomp @content;
 
 @slide=();
+@topics=();
 
-print "<?xml version='1.0'?>\n";
-print "<slides effect=\"slide top left, blend\"
-        bgcolor=\"#000000\" fgcolor=\"#FFFFFF\" 
+@actions=( "",
+                           "slide top",
+                               "slide top right",
+                               "slide top left",
+                               "slide bottom",
+                               "slide bottom left",
+                               "slide bottom right",
+                               "slide left",
+                               "slide right");
+
+print "<?xml version='1.0' encoding='iso-8859-1'?>\n";
+print "\n<slides bgcolor=\"#000000\" fgcolor=\"#ffffff\" 
         face=\"../ttf/decker.ttf\" size=\"15\"
-        bgimage=\"../img/bg.png\"
         bullet=\"../img/bullet.png\"
         screen_width=\"1024\" screen_height=\"768\">\n";
 
+open(IN,"../head2xml header|") or die "no head2xml / header!!\n";
+while(<IN>) {
+       print $_;
+}
+close(IN);
+
+foreach(@content) {
+       if((/^\d/) or (/^ \d/)) {
+               push(@topics,$_);
+       }
+}
+
+print "\n<slide effect=\"slide top left, blend\">\n";
+print "<header size=\"20\" fgcolor=\"#00FF00\">Inhalt</header>\n<text></text>\n";
+foreach(@topics) {
+       if(/^\d/) {
+               print "<text></text>\n";
+               $add="fgcolor=\"#FF0000\"";
+       }
+       else {
+               $add="";
+       }
+       print "<text $add>$_</text>\n";
+}
+print "</slide>\n\n";
+
+$topic=0;
+
 push(@content," 23");
 
 foreach(@content) {
        s/\#.*//;
+       if(not /^\s+$/) {
        s/&/&amp;/g;
        s/</&lt;/;
        s/>/&gt;/;
+       
+       #s/ue/ü/g;
+       #s/ae/ä/g;
+       #s/oe/ö/g;
+       
+       s/Ue/Ü/g;
+       s/Ae/Ä/g;
+       s/Oe/Ö/g;
        # unterpunkt
        if(/^ \d/) {
                if(@slide) {
-                       print "<slide>\n";
-                       pop(@slide);
-                       print "<header size=\"20\">$topic</header>\n<text></text>\n";
+                       $action=$actions[int(rand($#actions))];
+                       if(length($action)>0) {
+                               if(int(rand(2))==1) {
+                                       $action.=", blend";
+                               }
+                       }
+                       else {
+                               if(int(rand(2))==1) {
+                                       $action.="blend";
+                               }
+                       }
+                       if(length($action)>0) {
+                               $action=" effect=\"$action\"";
+                       }
+                       print "<slide$action>\n";
+                       print STDERR "$topics[$topic] $action\n";
+                       print "<header size=\"20\" fgcolor=\"#00FF00\">$topics[$topic]</header>\n<text></text>\n";
                        foreach(@slide) {
-                               if(/ \+ /) {
+                               if(/^  \+ /) {
+                                       s/\+//;
+                                       print "<text></text>\n<listitem fgcolor=\"#0000FF\" size=\"20\">$_</listitem>\n";
+                               }
+                               elsif(/ \+ /) {
                                        s/\+//;
                                        print "<text></text>\n<listitem size=\"20\">$_</listitem>\n";
                                }
@@ -36,19 +100,24 @@ foreach(@content) {
                                }
                        }
                        print "</slide>\n\n";
+                       #$topic++;
                }
                @slide=();
-               #push(@slide,$_);
-               $topic=$_;
+               $topic++;
+               $_=$topics[$topic];
+               if(/^\d/) {
+                       $topic++;
+               }
        }
        # ueberpunkt
        elsif (/^\d/) {
-               #$topic=$_;
+               
        }
        # normaler content
        else {
                push(@slide,$_);
        }
 }
+}
 
 print "</slides>\n";
\ No newline at end of file