From 05256598779d10a331972941c80cf502770de44d Mon Sep 17 00:00:00 2001 From: Robert Hak Date: Thu, 22 Aug 2002 03:34:09 +0000 Subject: renameing txt2plain.pl to faq2html.pl git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1911 a1c6a512-1295-4272-9138-f99709370657 --- www/faq2html.pl | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100755 www/faq2html.pl (limited to 'www') diff --git a/www/faq2html.pl b/www/faq2html.pl new file mode 100755 index 0000000000..47018fcf9b --- /dev/null +++ b/www/faq2html.pl @@ -0,0 +1,99 @@ +#!/usr/bin/perl + +# this is really a faq2html and should only be used for this purpose + +sub fixline { + $_ =~ s/\/>/g; + + $_ =~ s/(http:\/\/([a-zA-Z0-9_.\/-]*)[^\) .\n])/\$1\<\/a\>/g; + + $_ =~ s/(\\|\/)$/$1 /g; # clobber backslash on end of line +} + +sub show { + if(@q) { + print @q; + undef @q; + } + if(@a) { + print @a; + undef @a; + } + if(@p) { + print "
\n";
+        print @p;
+        print "
\n"; + undef @p; + } +} + +while() { + + fixline($_); + + # detect and mark Q-sections + 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/) { + push @q, "$_"; + } + else { + last; + } + } + # 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, "

"; + } + + 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