# Blosxom Plugin: dont_cry_baby # Author(s): Hironori Azuma (andi@ac.wakwak.com) # Version: 0.2 package dont_cry_baby; use strict; # --- Configurable variables ----- my @action_flavours = qw(baby); my %cry = ( 'さ' => 'ちゃ' , 'し' => 'ち' , 'す' => 'ちゅ' , 'せ' => 'ちぇ' , 'そ' => 'ちょ' , 'しゃ' => 'ちゃ' , 'しゅ' => 'ちゅ' , 'しょ' => 'ちょ' , 'つ' => 'ちゅ' ); # -------------------------------- sub start{ package blosxom; *_generate = *generate; *generate = *dont_cry_baby::generate; 1; } sub generate{ my $output = &blosxom::_generate(@_); my $regexp = "(".join('|',map{ "$_" } sort{ $b cmp $a } keys %cry).")"; if(scalar(@action_flavours) > 0 && grep{ $_ eq $blosxom::flavour } @action_flavours ){ $output =~ s!$regexp!$cry{$1}!g; } return $output; } 1;