From 86d31112d0839ede9b1ec6d828a5b2f188070be7 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 21 Aug 2002 14:15:53 +0000 Subject: better use of

for plain texts git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1886 a1c6a512-1295-4272-9138-f99709370657 --- www/txt2plain.pl | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 66 insertions(+), 6 deletions(-) (limited to 'www') diff --git a/www/txt2plain.pl b/www/txt2plain.pl index 287e8787d8..c34f94eb20 100755 --- a/www/txt2plain.pl +++ b/www/txt2plain.pl @@ -8,33 +8,93 @@ sub fixline { $_ =~ s/(http:\/\/([a-zA-Z0-9_.\/-]*)[^\) .\n])/\$1\<\/a\>/g; - $_ =~ s/^\s*$/\ \n/g; # empty lines are nbsp $_ =~ s/(\\|\/)$/$1 /g; # clobber backslash on end of line } +sub show { + if(@q) { + print @q; + undef @q; + } + if(@a) { + print @a; + undef @a; + print "\n"; + } + if(@p) { + print "

\n";
+        print @p;
+        print "
\n"; + undef @p; + } +} + while() { fixline($_); # detect and mark Q-sections - if( $_ =~ /^Q(\d*)/) { - print "\n
$_"; + if( $_ =~ /^(Q(\d*)[.:] )(.*)/) { + + show(); + + # collect the full Q + push @q, "

"; + push @q, "$2. $3"; my $line; + + $indent = length($1); + $first = " " x $indent; + + #print "$indent|$first|$1|\n"; + while() { fixline($_); $line = $_; + if($_ !~ /^A/) { - print "$_"; + push @q, "$_"; } else { last; } } - print "

\n
$line";
+        # first line of A
+        $line =~ s/^A(\d*)[.:] *//g; # cut off the "A[num]."
+        push @a, "

"; + push @a, $line; + + $prev='a'; next; } + # print "$_ matches '$first'?\n"; + + if($_ =~ /^$first(\S)/) { + + + if($prev ne 'a') { + show(); + push @a, "

"; + } - print $_; + push @a, $_; + $prev='a'; + } + else { + if($prev ne 'p') { + show(); + } + if(@p) { + # if we have data, we fix blank lines + $_ =~ s/^\s*$/\ \n/g; # empty lines are nbsp + push @p, $_; # add it + } + elsif($_ !~ /^\s*$/) { + # this is not a blank line, add it + push @p, $_; + } + $prev = 'p'; + } } -- cgit v1.2.3