75 |
############################## |
############################## |
76 |
# 全ページのスタイル |
# 全ページのスタイル |
77 |
my $style = <<'EOD'; |
my $style = <<'EOD'; |
78 |
pre, dl, ul, ol, p, blockquote { line-height:120%; } |
@import '/s/simpledoc'; |
79 |
|
pre, dl, ul, ol, p, blockquote { line-height:120%; |
80 |
|
margin-bottom: 1em} |
81 |
|
a.wiki .mark {vertical-align: sub, color: GrayText} |
82 |
a { text-decoration: none; } |
a { text-decoration: none; } |
83 |
a:link { color: #0000FF; background-color: #FFFFFF; } |
a:link { color: #0000FF; background-color: #FFFFFF; } |
84 |
a:visited { color: #9900CC; background-color: #FFFFFF; } |
a:visited { color: #9900CC; background-color: #FFFFFF; } |
658 |
sub print_footer { |
sub print_footer { |
659 |
print <<"EOD"; |
print <<"EOD"; |
660 |
<div class="navigation"> |
<div class="navigation"> |
|
<a href="http://www.hyuki.com/yukiwiki/">YukiWiki</a> 1.6.6 Copyright (C) 2000,2001 by <a href="http://www.hyuki.com/">Hiroshi Yuki.</a> |
|
|
+ <a href="$modifierlink">$modifier</a> ${version}. |
|
661 |
[<a href="/" title="このサーバーの首頁">/</a> |
[<a href="/" title="このサーバーの首頁">/</a> |
662 |
<a href="/map" title="このサーバーの案内">地図</a> |
<a href="/map" title="このサーバーの案内">地図</a> |
663 |
<a href="/search/" title="このサーバーの検索">検索</a>] |
<a href="/search/" title="このサーバーの検索">検索</a>] |
664 |
</div> |
</div> |
665 |
|
EOD |
666 |
|
print <<'EOH'; |
667 |
<div class="update"> |
<div class="update"> |
668 |
|
<a href="http://www.hyuki.com/yukiwiki/">YukiWiki</a> 1.6.6 Copyright (C) 2000,2001 by <a href="http://www.hyuki.com/">Hiroshi Yuki.</a> ${version} |
669 |
|
+ <a href="$modifierlink">$modifier</a>. |
670 |
<a href="/gate/cvs/wakaba/wiki/" title="CVS Repository"> |
<a href="/gate/cvs/wakaba/wiki/" title="CVS Repository"> |
671 |
\$Revision$ |
$Revision$ $Date$ |
|
\$Date$ |
|
672 |
</a> |
</a> |
673 |
</div> |
</div> |
674 |
</body></html> |
</body></html> |
675 |
EOD |
EOH |
676 |
} |
} |
677 |
|
|
678 |
# URLやページの名前からリンクを作る |
# URLやページの名前からリンクを作る |
730 |
my (@txt) = split(/\n/, $txt); |
my (@txt) = split(/\n/, $txt); |
731 |
foreach (@txt) { |
foreach (@txt) { |
732 |
chomp; |
chomp; |
733 |
if (/^\*\*(.*)/) { |
if (/^\*\*\*\*\*(.*)/) { |
734 |
|
push(@result, splice(@saved), '<h6>' . &inline($1) . '</h6>'); |
735 |
|
} elsif (/^\*\*\*\*(.*)/) { |
736 |
|
push(@result, splice(@saved), '<h5>' . &inline($1) . '</h5>'); |
737 |
|
} elsif (/^\*\*\*(.*)/) { |
738 |
|
push(@result, splice(@saved), '<h4>' . &inline($1) . '</h4>'); |
739 |
|
} elsif (/^\*\*(.*)/) { |
740 |
push(@result, splice(@saved), '<h3>' . &inline($1) . '</h3>'); |
push(@result, splice(@saved), '<h3>' . &inline($1) . '</h3>'); |
741 |
} elsif (/^\*(.*)/) { |
} elsif (/^\*(.*)/) { |
742 |
push(@result, splice(@saved), '<h2>' . &inline($1) . '</h2>'); |
push(@result, splice(@saved), '<h2>' . &inline($1) . '</h2>'); |
745 |
} elsif (/^(-{1,3})(.*)/) { |
} elsif (/^(-{1,3})(.*)/) { |
746 |
&back_push('ul', length($1)); |
&back_push('ul', length($1)); |
747 |
push(@result, '<li>' . &inline($2) . '</li>'); |
push(@result, '<li>' . &inline($2) . '</li>'); |
748 |
|
} elsif (/^(={1,3})(.*)/) { |
749 |
|
&back_push('ol', length($1)); |
750 |
|
push(@result, '<li>' . &inline($2) . '</li>'); |
751 |
} elsif (/^:([^:]+):(.*)/) { |
} elsif (/^:([^:]+):(.*)/) { |
752 |
&back_push('dl', 1); |
&back_push('dl', 1); |
753 |
push(@result, '<dt>' . &inline($1) . '</dt>', '<dd>' . &inline($2) . '</dd>'); |
push(@result, '<dt>' . &inline($1) . '</dt>', '<dd>' . &inline($2) . '</dd>'); |
760 |
push(@result, "<p>"); |
push(@result, "<p>"); |
761 |
} elsif (/^(\s+.*)$/) { |
} elsif (/^(\s+.*)$/) { |
762 |
&back_push('pre', 1); |
&back_push('pre', 1); |
763 |
push(@result, &escape($1)); # Not &inline, but &escape |
#push(@result, &escape($1)); # Not &inline, but &escape |
764 |
|
push(@result, &inline($1)); # Not &inline, but &escape |
765 |
} else { |
} else { |
766 |
push(@result, &inline($_)); |
push(@result, &inline($_)); |
767 |
} |
} |