From: martinahansen Date: Mon, 30 Jun 2008 12:11:05 +0000 (+0000) Subject: zzz X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=badea30f9d0622feb0e8beca35c0b7817d49945a;p=biopieces.git zzz git-svn-id: http://biopieces.googlecode.com/svn/trunk@79 74ccb610-7750-0410-82ae-013aeee3265d --- diff --git a/code_perl/Maasha/Gwiki.pm b/code_perl/Maasha/Gwiki.pm index 3bfdc59..d97a8d4 100644 --- a/code_perl/Maasha/Gwiki.pm +++ b/code_perl/Maasha/Gwiki.pm @@ -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" ); }