테이블이 아닌 || 처리 문제 해결
- 줄의 중간에 || 가 있을 경우, 이것은 테이블이 아니기 때문에 그대로 출력되어야 한다.
- 페이지 내에 테이블이 전혀 없을 경우는 제대로 출력이 되는데, 한 번 이상 테이블이 사용된 경우는 테이블이 아닌 || 도 td 태그로 치환되어 버리는 문제가 있었다.
- 조프님의 패치를 적용하여 해결
-
sub WikiLinesToHtml {
...
while (@htmlStack > $depth) {
$tag = pop(@htmlStack);
if ($tag eq "TABLE") {
$TableMode = 0;
};
$pageHtml .= "</" . $tag . ">\n";
}
if ($depth > 0) {
$depth = $IndentLimit if ($depth > $IndentLimit);
if (@htmlStack) {
$oldCode = pop(@htmlStack);
if ($oldCode ne $code) {
if ($oldCode eq "TABLE") {
$TableMode = 0;
}
$pageHtml .= "</$oldCode><$code>\n";
}
push(@htmlStack, $code);
...
}
Notes
테이블 바로 다음 줄에 콜론을 이용한 들여쓰기가 있을 경우에, 그 뒤에 나오는 || 가 표로 취급되는 문제가 있는 것을 발견하여 다시 조프님이 수정했습니다. 위 패치에서 두번째 주석뭉치 부분이 추가된 부분입니다.
위키위키분류