편집 도움말을 별도의 화일로 분리
- 도움말 텍스트의 크기가 10KB 정도 되어 wiki.pl 소스의 크기도 커지고, 도움말을 수정하는 데에도 불편하다.
- Luke님의 제안을 적용, 도움말을 별도의 화일로 분리
- 필수 요구 사항 : 없음
- 선택 요구 사항 : 없음
- 사용법 :
- wiki.pl 이 있는 디렉토리 내에 mod_edithelp.pm 이라는 화일을 따로 만든다. (/Download 에서 다운받을 수 있다)
- 이 화일의 구성은 다음과 같다
-
package UseModWiki;
@HelpItem = (
"Make Page",
"Text Formatting",
"Link and Image",
"Macro",
"Emoticon",
);
$HelpText[0] = qq(
=== 한글이름페이지 ===
한글페이지이름 만드는 법입니다.
...
);
$HelpText[1] = qq|
=== 글자 장식 ===
...
|;
...
}
- 새로운 도움말 토픽을 추가하고 싶다면, 처음에 HelpItem 이라는 배열에 도움말의 제목을 적어주고, HelpText 배열에 해당하는 도움말의 내용을 위키소스를 그대로 채워 주면 된다. (제목과 내용이 매치가 되도록 배열의 인덱스값에 주의할 것) 그러면 페이지 편집 화면에 자동으로 새로운 제목을 출력해 준다.
- wiki.pl 수정
- DoHelp 함수를 통채로 교체한다.
-
sub DoHelp {
my $idx = &GetParam("index", "");
require mod_edithelp;
use vars qw(@HelpItem @HelpText);
my $title = T("$HelpItem[$idx]");
my $text;
$text = "== $title ==\n";
$text .= $HelpText[$idx];
$ClickEdit = 0;
$UseEmoticon = 1;
print &GetHttpHeader();
print &GetHtmlHeader(T('Editing Help :'). " $title", "$title");
print &WikiToHTML($text);
}
- DoEdit 함수를 수정한다.
-
sub DoEdit {
...
print T('Editing Help :') . " ";
use vars qw(@HelpItem);
require mod_edithelp;
foreach (0 .. $#HelpItem) {
print &HelpLink($_, T("$HelpItem[$_]"));
print " | " if ($_ ne $#HelpItem);
}
print "<br>\n";
...
}
Notes
편집 도움말 제목과 내용을 각각 키와 데이타로 하는 해쉬 변수로 하면 더 편하고 도움말 화일도 직관적으로 만들 수 있겠습니다만... 편집 창에서 도움말 제목이 출력되는 순서가 해쉬 변수를 정의한 순서 (즉 도움말 화일에 나열된 순서) 로 고정되는 게 아니라는 것 때문에 결국 배열을 썼습니다. 도움말 제목에 각각 번호를 붙인다면 ("1. 페이지 만들기", "2. 문장 구성" ..) 키를 소트하여 출력하면 되니까 원하는 대로 되긴 하겠습니다만.. 지저분해 보일 것 같군요.
ext1.46c 에서 도움말 화일의 내용이 업데이트 되었음. '표 만들기' 항목을 별도로 분리함
위키위키분류