toc-generator 플러그인


가끔 플러그들의 소개 페이지를 보면 글의 상단에 그 글의 목차가 표시된걸 보며, 꽤 편하다는 느낌을 받아왔는데, 지난달쯤엔가 괜찮은 플러그인을 만났었습니다. Scott Yang씨가 만든 TOC-Generator이었죠.

반가운 마음에 바로 설치해봤는데, 파이어 폭스에서 책갈피 링크가 제대로 작동을 안하네요…(최근에야 알았는데 IE에서는 제대로 동작 합니다…) 게다가, 생성된 책갈피의 id가 UTF-8로 표현된 한글이라서인지.. 제대로 된 값이 아니라며 xhtml 표준화 검사에서도 오류를 나타내구요..

아쉬워 하며 id값을 생성해주는걸 그냥 숫자로 표현되도록 바꿔서 쓸까.. 하는 생각에 시간 날때마다 이리 저리 함수를 끼워맞추던중 좀 전에 she님이 toc와 wiki에 대해서 남기신 을 읽다가 갑자기 id의 엔코딩을 바꿔보면 어떨까.. 하는생각이 들어서 한번 시도해 봤습니다.

결과는.. ‘성공‘이었습니다. 몇가지 문제가 있지만.. 일단 책갈피 링크는 작동하네요. Scott씨가 플러그인을 업데이트 하기 전까지 사용하기에는 괜찮아 보입니다.

제가 사용한 방법은 바람님이 공개하신 ‘EUC-KR’트랙백 패치를 참고했습니다.

플러그인 파일(ylsy_toc.php)을 텍스트 에디터로 열어 18번줄부근을 다음과 같이 수정합니다.
[spoiler ‘원래 코드 보기”원래 코드 숨기기’]

tocmap[$tocid]))
        $tocid = $text.strval(++ $count);
    $this->tocmap[$tocid] = true;
    return "toc-$tocid";
}

[/spoiler]
[spoiler ‘수정된 코드 보기”수정된 코드 숨기기’]

tocmap[$tocid]))
      $tocid = $text.strval(++ $count);
    $this->tocmap[$tocid] = true;
    return "toc-$tocid";
 }

[/spoiler]
보시면 아시겠지만 호스팅 서버에서 mbstring모듈이나 iconv모듈 둘중에 하나를 지원해야만 적용됩니다.
[spoiler ‘적용된 예 보기”그만보고 닫기’]

1. 큰제목

1-1. 작은제목

내용들…

1-2. 작은제목

내용들…

1-3. 작은제목

내용들…

1-3-1. 더 작은제목

내용들…

1-3-2. 더 작은제목

내용들…[/spoiler]

또 하나 아쉬운게, 태그로 필터링 처리되어야 할 헤딩(h1~6)들도 toc-generator에서 책갈피 리스트에 추가해버린다는겁니다.. Scott씨의 "To do list"에 포함되어 있으니 다음 버전에서는 모두 해결 되겠지요..;)

추가 :: 예제에서는 제가 직접 "1, 1-1, 2, 2-1, 2-1-1" 이런식으로 번호를 적어줬는데, 이 작업을 자동으로 할 수 있는 방법이 없을까요? 참고가 될만한 플러그인이 있거나 방법이 있다면 덧글로 알려주시면 감사하겠습니다:cool:

이 예제 말고는 쓸 일이 없어서 플러그인을 비활성화 했습니다. 따라서 위의 예제는 보이지 않게 됩니다.:|


5 responses to “toc-generator 플러그인”

  1. @정규섭 :: 아.. 파이어 폭스에서도 작동하도록 만들었다는 글입니다.. ^^;
    @she :: 거의 포기하고 숫자로 바꿔쓰던 중이었는데 덕분에 좋은 생각이 떠올랐습니다.:)

  2. ^^ 잘 되는군요. 전 제 파이어폭스에서만 안되는 줄 알았어요. 예전엔 문제 없었는데 요즘 한글 url부분에 이상이 있어서요. ^^: 감사합니다.;)