New journal reader template

brian_d_foy on 2004-01-07T17:11:23

I updated my use.perl journal reader output template. It now nicely handles ECODE sections, and makes a text listing of the URLs at the end of the post.

I still have a few problems with it, but it mostly works and I will fix those in the next go around.

Notice, in the code, that I had to change the literal close ECODE tag to E-CODE to get the template to display correctly for this post.

{
use HTML::Entities;
use Text::Autoformat;
 
$entry{body} =~ s==\n\n=gi;
$entry{body} =~ s===gi;
$entry{body} =~ s||__|gi;
$entry{body} =~ s||*|gi;

$last_entry = "0";

while( $entry{body} =~ s|\s*
(.*?)\s*\s*|\n\n**$last_entry**\n\n|is )
	{
	my $ecode = $1;
	$ecode =~ s/^/\t/gm;
	
	push @ecodes, $ecode;	
	$last_entry++;
	}

$last_entry = 0;

while( $entry{body} =~ s|(.*?)|$3\[$last_entry]|is ) { push @urls, $2; $last_entry++; }

decode_entities( $entry{body} ); my $text = autoformat( $entry{body}, { right => 73, all => 1 } );

$text =~ s/\*\*(\d+)\*\*/$ecodes[$1]/g;

$text =~ s|\n{3,}|\n\n|gi; $text =~ s=^\n+|\n+$==gi;

$text .= join "\n\t", undef, undef, map { "[$_] $urls[$_]" } 0 .. $#urls; " ====================================================================== $entry{nickname}: $entry{subject} $entry{date}, $entry{id} ---------------------------------------------------------------------- $text "; }