339 |
$FormIndex{$option->{page}}++; |
$FormIndex{$option->{page}}++; |
340 |
if (length $definition) { |
if (length $definition) { |
341 |
my $param = bless {depth=>10}, 'SuikaWiki::Plugin'; |
my $param = bless {depth=>10}, 'SuikaWiki::Plugin'; |
342 |
|
$param->{page} = $option->{page}; |
343 |
my $lastmodified = $database->mtime ($option->{page}); |
my $lastmodified = $database->mtime ($option->{page}); |
344 |
&load_formatter (qw/form_input form_option/); |
&load_formatter (qw/form_input form_option/); |
345 |
$definition = &unescape ($definition); |
$definition = &unescape ($definition); |
442 |
} else { |
} else { |
443 |
$SubjectLine->{$page} = do { |
$SubjectLine->{$page} = do { |
444 |
my $s=$database{$page}; |
my $s=$database{$page}; |
445 |
|
$s =~ tr/\x0D//d; |
446 |
$s =~ s!^\#\?[^\x0A\x0D]+[\x0A\x0D]*!!s; |
$s =~ s!^\#\?[^\x0A\x0D]+[\x0A\x0D]*!!s; |
447 |
$s =~ s/\x0D?\x0A.*//s; |
$s =~ s/\x0A\x0A.*//s; |
448 |
$s =~ s/^[-=]*\s*\[\d+\]\s*//; |
if (length ($s) > 500) { |
449 |
|
$s = substr ($s, 0, 500); |
450 |
|
$s =~ s/[^\x09\x0A\x20-\x7E]+$//s; |
451 |
|
$s .= '...'; |
452 |
|
} |
453 |
|
#if ($s =~ /^([^\x0A]*(?:\x0A+[^\x0A]+){0,9})/s) { |
454 |
|
# $s = $1; |
455 |
|
#} |
456 |
|
$s =~ s/[\x09\x0A\x20]+/\x20/gs; |
457 |
|
$s =~ s/^[-=*>,:]+//; |
458 |
$s =~ s/'''?//g; |
$s =~ s/'''?//g; |
|
$s =~ s/\[[A-Z]+(?:\([^)]+\))?\[([^]]+)\](?:\s\[([^]]+)\])?\]/$1$2/g; |
|
459 |
$s =~ s/\[\[([^]]+)\]\]/$1/g; |
$s =~ s/\[\[([^]]+)\]\]/$1/g; |
460 |
|
$s =~ s/__&&([^&]+)&&__/$1/g; |
461 |
|
$s =~ s/\[[A-Z]+(?:\([^)]+\))?\[([^]]+)\](?:\s\[([^]]+)\])?\]/$1$2/g; |
462 |
|
$s =~ s/\([^\(\)]+\)//g; |
463 |
|
$s =~ s/\[[^\[\]]+\]//g; |
464 |
|
$s =~ s/>>[0-9]+//g; |
465 |
|
$s =~ s/<[^<>]+>//g; |
466 |
|
$s =~ s/20[0-9][0-9]-[01][0-9]-[0-3][0-9]\x20*[0-2][0-9]:[0-5][0-9]//g; |
467 |
|
$s =~ s/ [Aa]n? / /g; |
468 |
|
$s =~ s/ [Aa]t / @ /g; |
469 |
|
$s =~ s/ [Tt]he / /g; |
470 |
|
$s =~ s/,? and / & /g; |
471 |
|
$s =~ s!,? or ! / !g; |
472 |
|
$s =~ s! not !n't !g; |
473 |
|
$s =~ s! (?:i|ha)s !'s !g; |
474 |
|
$s =~ s! are !'re !g; |
475 |
|
$s =~ s! [Ww]ith(in|out)? !' w/'.substr ($1,0,1).' '!ge; |
476 |
|
$s =~ s!です。!。!g; |
477 |
|
$s =~ s!ました。!た。!g; |
478 |
|
$s =~ s!ありません!ない!g; |
479 |
|
$s =~ s!します!する!g; |
480 |
|
$s =~ s!(?:り)?ます!る!g; |
481 |
|
$s =~ s!いよいよ|とうとう|ようやく!!g; |
482 |
|
$s =~ s!とりあえず!!g; |
483 |
|
$s =~ s!(?:、|。|[.,])\x20?$!!g; |
484 |
|
$s =~ s/\x20+/\x20/g; |
485 |
|
if (length ($s) > 400) { |
486 |
|
$s = substr ($s, 0, 400); |
487 |
|
$s =~ s/[^\x20-\x7E]+$//s; |
488 |
|
$s .= '...'; |
489 |
|
} |
490 |
$s}; |
$s}; |
491 |
} |
} |
492 |
} |
} |