package Maasha::Gwiki;
-# Copyright (C) 2008 Martin A. Hansen.
+# Copyright (C) 2008-2009 Martin A. Hansen.
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+use warnings;
use strict;
use Data::Dumper;
use Term::ANSIColor;
use Maasha::Common;
+use Maasha::Filesys;
use vars qw ( @ISA @EXPORT );
@ISA = qw( Exporter );
{
push @lines, text_bold( "$block->[ 0 ]->{ 'TEXT' }" );
}
+ elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "summary" )
+ {
+ $block->[ 0 ]->{ 'TEXT' } =~ s/^#summary\s+//;
+
+ push @lines, text_bold( "Summary" ), "\n$block->[ 0 ]->{ 'TEXT' }";
+ }
elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "level_3" )
{
push @lines, "$block->[ 0 ]->{ 'TEXT' }";
}
elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "verbatim" )
{
- map { push @lines, " $_->{ 'TEXT' }" } @{ $block };
+ map { push @lines, text_white( " $_->{ 'TEXT' }" ) } @{ $block };
}
elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "itemize" )
{
{
$line = $triple->{ 'TEXT' };
+ $line =~ s/!(\w)/$1/g;
$line =~ s/^\s*//;
$line =~ s/\s*$//;
$line =~ s/\s+/ /g;
$line =~ tr/`//d;
$line =~ s/\[([^\]]+?)\]/&text_underline($1)/ge;
- $line =~ s/\*([^\*]+?)\*/&text_bold($1)/ge if $line =~ /(^| )\*[^\*]+?\*( |$)/;
- $line =~ s/_([^_]+?)_/&text_underline($1)/ge if $line =~ /(^| )_[^_]+?_( |$)/;
+ $line =~ s/\*(\w+)\*/&text_bold($1)/ge if $line =~ /(^| )\*\w+\*( |$)/;
+ $line =~ s/_(\w+)_/&text_underline($1)/ge if $line =~ /(^| )_\w+_( |$)/;
- push @lines, $_ foreach &Maasha::Common::wrap_line( $line, 80 );
+ push @lines, $_ foreach Maasha::Common::wrap_line( $line, 80 );
}
}
elsif ( $block->[ 0 ]->{ 'FORMAT' } eq "whitespace" )
my ( $fh, @lines, $i, $c, $section, $paragraph, @block, @output );
- $fh = &Maasha::Common::read_open( $file );
+ $fh = Maasha::Filesys::file_read_open( $file );
@lines = <$fh>;
{
undef @block;
- if ( $lines[ $i ] =~ /^===\s*(.+)\s*===$/ )
+ if ( $lines[ $i ] =~ /(#summary.+)/ ) # TODO: unsolved problem with anchor!
+ {
+ $section = $1;
+
+ push @block, {
+ TEXT => $section,
+ SECTION => $section,
+ FORMAT => "summary",
+ };
+ }
+ elsif ( $lines[ $i ] =~ /^===\s*(.+)\s*===$/ )
{
$section = $1;
$c = $i;
- while ( $lines[ $c ] !~ /^\s*$/ )
+ while ( defined $lines[ $c ] and $lines[ $c ] !~ /^\s*$/ )
{
$paragraph .= " $lines[ $c ]";
my ( $txt,
) = @_;
- return colored ( $txt, "bold" );
+ return colored( $txt, "bold" );
}
my ( $txt,
) = @_;
- return colored ( $txt, "underline" );
+ return colored( $txt, "underline" );
+}
+
+sub text_white
+{
+ my ( $txt,
+ ) = @_;
+
+ return colored( $txt, "white" );
}