태터툴즈의 새로운 이름, 텍스트큐브 1.5부터는 '표지'라는 기능이 생겼습니다. 블로그 기본 페이지를 다른 모습과 기능으로 꾸밀 수 있기 때문에 블로그를 웹진이나 다른 원하는 형태로 만들 수 있는 기능입니다. 표지를 제대로 꾸미기 위해서는 표지용 플러그인이 필요합니다. 몇몇 게시판 프로그램들과는 달리, 텍스트큐브는 스킨 안에서 PHP 코딩을 할 수 없습니다. 사실 스킨에서 PHP 코딩을 할 수 있으면 편하기야 하겠지만, 나중에 가면 덕지덕지 개판된 PHP 코드의 홍수 속에서 허우적거리기 딱 좋습니다. 따라서 불편하더라도 스킨과 코딩을 분리한 건 유지 보수를 위해서 좋은 일이죠. 문제는, 플러그인에 대해서 잘 되어 있는 문서가 없다는 점입니다. 있는데도 제가 멍청해서 못 찾아서인지는 모르겠지만, 플러그인을 만드는 방법에 대해서 잘 설명되어 있는 곳을 찾기가 힘드네요. 그래서 맨땅에 헤딩하는 기분으로 표지 플러그인을 만들면서 그 무식한 과정을 블로그에 기록할까합니다.

목표로 잡고 있는 표지 플러그인은, 글의 태그에 ISBN:×××××××× 과 같은 형식으로 ISBN 번호가 쓰여 있으면 알라딘의 OpenAPI를 이용해서 책 정보와 표지 이미지 파일을 끌어오는 겁니다. 그리고 가장 최근에 올라온 글 순서대로 책 정보 리스트를 보여주는 겁니다. 곧, '가장 최근에 리뷰된 책' 리스트를 표지에 뿌려주는 거죠. 표지에도, 사이드바에도 쓸 수 있겠지만, 일단 목표는 표지 플러그인입니다. 이미 알라딘 OpenAPI를 쓰는 플러그인도 있긴 하지만 공부하는 차원에서 밑바닥부터 하나하나 만들어보려고 합니다.

표지든 뭐든, 텍스트큐브 플러그인 하나를 만들려면 적어도 두 가지 파일이 있어야 합니다.
  1. index.php : 플러그인 기능을 구현하는 PHP 코드가 들어가 있는 파일
  2. index.xml : 텍스트큐브 엔진에 이 플러그인의 정체를 알려주는 파일
솔직히 태터툴즈/텍스트큐브 문서화는 아직 많이 부족하다는 생각이 듭니다. 하다못해서, index.xml을 구성하는 엘리먼트가 어떤 의미를 갖는지라도 어딘가에 좀 제대로 설명이 되어 있으면 좋은데, 그것도 변변치 않습니다. (심지어는 DTD나 스키마 정의도 없으니 참...) 그래서 몇몇 속성은 무슨 뜻인지 정확하게 모르겠습니다. 여하튼, 이 두 파일을 한 디렉터리에 넣어둡니다. 일단 아무 일도 하지 않는 플러그인을 만들어서 dummy란 디렉터리에 넣었습니다. 그리고는 텍스트큐브의 /plugins 디렉터리에 이 dummy 디렉터리를 넣었습니다.



텍스트큐브 엔진이 플러그인을 잘 인식했네요. 아~무 쓸모 없는 플러그인이지만 말입니다.




표지 설정 화면에서도 '추가 가능한 플러그인' 목록에 Dummy 플러그인이 뜹니다. 비록 플러그인계의 쑤레기지만 말입니다. 어쨌든 시작이 반이니까 50%는 했습니다. 다음 번에는 이 플러그인계의 쑤레기를 구성하고 있는 두 파일이 어떤 코드를 가지고 있는지 들여다 보도록 하죠.
Posted by MP4/13

BLOG main image
Drive with your sense. by MP4/13
Add to Technorati Favorites

카테고리

분류 전체보기 (1202)
광속질주 (205)
취생몽사 (160)
주지육림 (3)
독서삼매 (10)
음담패설 (28)
전광석화 (146)
우매상자 (66)
포장후면 (20)
악마사전 (6)
팔도유람 (20)
혹세무민 (508)
일상포착 (30)
Total : 3,964,678
Today : 300 Yesterday : 403