jaja
[lectures/dfb-slides.git] / parse.pl
index 0dbf9a0..ba97090 100755 (executable)
--- a/parse.pl
+++ b/parse.pl
@@ -4,6 +4,7 @@
 chomp @content;
 
 @slide=();
+@topics=();
 
 @actions=( "",
                            "slide top",
@@ -16,26 +17,44 @@ chomp @content;
                                "slide right");
 
 print "<?xml version='1.0' encoding='iso-8859-1'?>\n";
-print "<slides bgcolor=\"#222266\" fgcolor=\"#9999ff\" 
+print "\n<slides bgcolor=\"#000000\" fgcolor=\"#ffffff\" 
         face=\"../ttf/decker.ttf\" size=\"15\"
         bullet=\"../img/bullet.png\"
         screen_width=\"1024\" screen_height=\"768\">\n";
 
-@topics=();
+open(IN,"../head2xml header|") or die "no head2xml / header!!\n";
+while(<IN>) {
+       print $_;
+}
+close(IN);
 
 foreach(@content) {
        if((/^\d/) or (/^ \d/)) {
                push(@topics,$_);
-               #print STDERR "$_\n";
        }
 }
 
+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;/;
@@ -50,14 +69,27 @@ foreach(@content) {
        # unterpunkt
        if(/^ \d/) {
                if(@slide) {
-                       print "<slide>\n";
-                       pop(@slide);
-                       print STDERR "$topics[$topic]\n";
-                       print "<header size=\"20\" fgcolor=\"#22FF22\">$topics[$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(/^  \+ /) {
                                        s/\+//;
-                                       print "<text></text>\n<listitem fgcolor=\"#ff00cc\" size=\"20\">$_</listitem>\n";
+                                       print "<text></text>\n<listitem fgcolor=\"#0000FF\" size=\"20\">$_</listitem>\n";
                                }
                                elsif(/ \+ /) {
                                        s/\+//;
@@ -86,5 +118,6 @@ foreach(@content) {
                push(@slide,$_);
        }
 }
+}
 
 print "</slides>\n";
\ No newline at end of file