better use of <p> for plain texts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1886 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9af59727b3
commit
86d31112d0
1 changed files with 66 additions and 6 deletions
|
@ -8,33 +8,93 @@ sub fixline {
|
|||
|
||||
$_ =~ s/(http:\/\/([a-zA-Z0-9_.\/-]*)[^\) .\n])/\<a href=\"$1\"\>$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 "</blockquote>\n";
|
||||
}
|
||||
if(@p) {
|
||||
print "<pre>\n";
|
||||
print @p;
|
||||
print "</pre>\n";
|
||||
undef @p;
|
||||
}
|
||||
}
|
||||
|
||||
while(<STDIN>) {
|
||||
|
||||
fixline($_);
|
||||
|
||||
# detect and mark Q-sections
|
||||
if( $_ =~ /^Q(\d*)/) {
|
||||
print "</pre>\n<a name=\"$1\"></a><div class=\"faqq\">$_";
|
||||
if( $_ =~ /^(Q(\d*)[.:] )(.*)/) {
|
||||
|
||||
show();
|
||||
|
||||
# collect the full Q
|
||||
push @q, "<a name=\"$2\"></a><p class=\"faqq\">";
|
||||
push @q, "$2. $3";
|
||||
my $line;
|
||||
|
||||
$indent = length($1);
|
||||
$first = " " x $indent;
|
||||
|
||||
#print "$indent|$first|$1|\n";
|
||||
|
||||
while(<STDIN>) {
|
||||
|
||||
fixline($_);
|
||||
|
||||
$line = $_;
|
||||
|
||||
if($_ !~ /^A/) {
|
||||
print "$_";
|
||||
push @q, "$_";
|
||||
}
|
||||
else {
|
||||
last;
|
||||
}
|
||||
}
|
||||
print "</div>\n<pre class=\"faqa\">$line";
|
||||
# first line of A
|
||||
$line =~ s/^A(\d*)[.:] *//g; # cut off the "A[num]."
|
||||
push @a, "<blockquote><p class=\"faqa\">";
|
||||
push @a, $line;
|
||||
|
||||
$prev='a';
|
||||
next;
|
||||
}
|
||||
# print "$_ matches '$first'?\n";
|
||||
|
||||
print $_;
|
||||
if($_ =~ /^$first(\S)/) {
|
||||
|
||||
|
||||
if($prev ne 'a') {
|
||||
show();
|
||||
push @a, "<blockquote><p class=\"faqa\">";
|
||||
}
|
||||
|
||||
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';
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue