3 번째 수정본
Index 의 페이지 목록을 제목의 첫글자별로 구분
- 상단 메뉴의 index 를 클릭했을때 기존에 페이지들이 알파벳 순으로 출력되는 것을 개선하여, 첫글자에 따라 A,B,...,가,나,... 등으로 색인을 나눔.
-
UseModWiki소스수정/위키목차 를 적용함
- 여기에 다시 추가로, 목록 상단에 각 머리글자로 한 번에 이동할 수 있도록 링크를 추가함
- 주인장이 직접 고침. perl 에 대해 전혀 모른 상태에서 기존 소스만 보고 고친 탓에 지저분하다.
-
# 다음의 함수를 통채로 바꿈
sub PrintPageList {
my ($pagename);
my $count = 0;
my $titleIsPrinted = 0;
my @han = qw(가 나 다 라 마 바 사 아 자 차 카 타 파 하);
my @indexTitle = (0, "A".."Z");
push (@indexTitle, @han, "기타");
my @indexSearch=("A".."Z");
push (@indexSearch, @han, "豈");
print "<h2>", Ts('페이지 수: %s', ($#_ + 1)), "</h2>\n";
my $count2 = 0;
print("\n|");
while ( $count2 <= $#indexTitle ) {
if ($count2 == 27) {
print("<br>\n|");
}
print("<a href=\"#H_$indexTitle[$count2]\"><b>");
print(" $indexTitle[$count2] ");
print("</b></a>|");
$count2++;
}
print "<br><br>";
$count2 = 0;
foreach $pagename(@_) {
until (
$pagename lt @indexSearch[$count]
&& ($count == 0 || $pagename gt @indexSearch[$count-1])
) {
$count++;
$titleIsPrinted = 0;
last if $count > 40;
}
if (!$titleIsPrinted) {
while ( $count2 <= ($count - 1) ) {
print "\n<a name=\"H_$indexTitle[$count2]\">";
print "</a>";
$count2++;
}
print "\n<a name=\"H_$indexTitle[$count]\">";
print $q->h3($indexTitle[$count]);
print "</a>";
$count2 = $count + 1;
$titleIsPrinted=1;
}
print ".... " if ($pagename =~ m|/|);
print &GetPageLink($pagename);
if (&UserIsAdmin()) {
print " | " . &ScriptLink("action=pagelock&set=1&id=" .$pagename, T('lock'));
print " | " . &ScriptLink("action=pagelock&set=0&id=" .$pagename, T('unlock'));
}
print $q->br;
print "\n";
}
}
위키위키분류