]> git.donarmstrong.com Git - biopieces.git/commitdiff
zzz
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 30 Jun 2008 12:11:05 +0000 (12:11 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 30 Jun 2008 12:11:05 +0000 (12:11 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@79 74ccb610-7750-0410-82ae-013aeee3265d

code_perl/Maasha/Gwiki.pm

index 3bfdc59f64835248e2ff0f47eb28ae5434d2c926..d97a8d4e5543069aea65e0030299b30f9651fd60 100644 (file)
@@ -51,7 +51,7 @@ sub gwiki2ascii
 
     # Returns a list of lines.
 
-    my ( $block, $triple, $line, @lines );
+    my ( $block, $triple, $line, @lines, $i );
 
     foreach $block ( @{ $wiki } )
     {
@@ -71,6 +71,22 @@ sub gwiki2ascii
         {
             map { push @lines, "   $_->{ 'TEXT' }" } @{ $block };
         }
+        elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "itemize" )
+        {
+            for ( $i = 0; $i < @{ $block }; $i++ ) {
+                push @lines, "   * $block->[ $i ]->{ 'TEXT' }";
+            }
+
+            push @lines, "";
+        }
+        elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "enumerate" )
+        {
+            for ( $i = 0; $i < @{ $block }; $i++ ) {
+                push @lines, "   " . ( $i + 1 ) . ". $block->[ $i ]->{ 'TEXT' }";
+            }
+
+            push @lines, "";
+        }
         elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "paragraph" )
         {
             foreach $triple ( @{ $block } )
@@ -88,6 +104,10 @@ sub gwiki2ascii
                 push @lines, $_ foreach &Maasha::Common::wrap_line( $line, 80 );
             }
         }
+        elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "whitespace" )
+        {
+            push @lines, "";
+        }
     }
 
     return wantarray ? @lines : \@lines;
@@ -110,7 +130,7 @@ sub gwiki_read
 
     # Returns data structure.
 
-    my ( $fh, @lines, $i, $c, $section, @block, @output );
+    my ( $fh, @lines, $i, $c, $section, $paragraph, @block, @output );
 
     $fh = &Maasha::Common::read_open( $file );
 
@@ -171,20 +191,71 @@ sub gwiki_read
 
                 $c++;
             }
+
+            $c++;
+        }
+        elsif ( $lines[ $i ] =~ /^\s{1,}\*\s*.+/ )
+        {
+            $c = $i;
+
+            while ( $lines[ $c ] =~ /^\s{1,}\*\s*(.+)/ )
+            {
+                push @block, {
+                    TEXT    => $1,
+                    SECTION => $section,
+                    FORMAT  => "itemize"
+                };
+
+                $c++;
+            }
         }
-        else
+        elsif ( $lines[ $i ] =~ /^\s{1,}#\s*.+/ )
         {
+            $c = $i;
+
+            while ( $lines[ $c ] =~ /^\s{1,}#\s*(.+)/ )
+            {
+                push @block, {
+                    TEXT    => $1,
+                    SECTION => $section,
+                    FORMAT  => "enumerate"
+                };
+
+                $c++;
+            }
+        }
+        elsif ( $lines[ $i ] !~ /^\s*$/ )
+        {
+            undef $paragraph;
+
+            $c = $i;
+
+            while ( $lines[ $c ] !~ /^\s*$/ )
+            {
+                $paragraph .= " $lines[ $c ]";
+
+                $c++;
+            }
+
             push @block, {
-                TEXT    => $lines[ $i ],
+                TEXT    => $paragraph,
                 SECTION => $section,
                 FORMAT  => "paragraph",
             };
         }
+        elsif ( $lines[ $i ] =~ /^\s*$/ )
+        {
+            push @block, {
+                TEXT    => "",
+                SECTION => $section,
+                FORMAT  => "whitespace",
+            };
+        }
 
         push @output, [ @block ], if @block;
 
         if ( $c > $i ) {
-            $i = $c + 1;
+            $i = $c;
         } else {
             $i++;
         }
@@ -199,7 +270,7 @@ sub text_bold
     my ( $txt,
        ) = @_;
 
-    return colored ( $txt, "bold white" );
+    return colored ( $txt, "magenta" );
 }