# Returns a list of lines.
- my ( $block, $triple, $line, @lines );
+ my ( $block, $triple, $line, @lines, $i );
foreach $block ( @{ $wiki } )
{
{
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 } )
push @lines, $_ foreach &Maasha::Common::wrap_line( $line, 80 );
}
}
+ elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "whitespace" )
+ {
+ push @lines, "";
+ }
}
return wantarray ? @lines : \@lines;
# 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 );
$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++;
}
my ( $txt,
) = @_;
- return colored ( $txt, "bold white" );
+ return colored ( $txt, "magenta" );
}