텍스트큐브 플러그인 가상치환자

텍스트큐브 센터플러그인을 만들다가 가상치환자를 사용할 일이 있어서 소스를 좀 살펴봤다.

치환자란?
흔히 플러그인에서 블로그화면으로 데이터를 뿌려주기 위해 사용한다.
형태는 [##_치환자명_##] 이고,
텍스트큐브가 치환자를 만나면 플러그인의 index.xml에 지정된 함수를 호출하여 반환값을 치환자 위치에 뿌린다.

가상치환자란?
실제로 스킨에 존재하지 않지만 마치 스킨에 존재하는 것처럼 동작하는 치환자를 가상치환라고 한다. 다시 말하면, 실제로 스킨에 [##_SKIN_body_start_##]와 같은 치환자가 없더라도 플러그인 index.xml에
<tag name="SKIN_body_start" handler="doSomething" />
라는 바인딩 코드가 있으면 실제로 doSomething함수의 반환값을 SKIN의 body 태그 시작부분에 뿌려준다.

종류
가상치환자의 종류는 아래 6가지다. 이름에서 알 수 있듯이 그렇게 동작한다.
SKIN_html_start, SKIN_html_end
SKIN_head_start, SKIN_head_end
SKIN_body_start, SKIN_body_end

동작원리
이렇게 할 수 있는 이유는 간단하다. 텍스트큐브가 스킨을 불러들일때 html, head, body 태그를 찾아서 가상치환자를 삽입한다.

/lib/blog.skin.php 화일 124라인을 보면
replaceSkinTag($sval, 'html');
replaceSkinTag($sval, 'head');
replaceSkinTag($sval, 'body');
이런 코드가 나온다.

replaceSkinTag함수는 두번째 파라미터의 태그를 찾아서 첫부분에 start 가상치환자를 끝부분에 end 가상치환자를 넣어주는 함수.

Textcube wiki 페이지 참조

Posted by 망고

08 1, 2008 23:39 08 1, 2008 23:39
,
Response
No Trackback , 6 Comments
RSS :
http://www.shimminkyu.com/tc/rss/response/850

Trackback URL : http://www.shimminkyu.com/tc/trackback/850

Comments List

  1. [RA]Penguin 2008年 08月 02日 16時 38分 # M/D Reply Permalink

    으음 이쪽에 대해서는 하나도 몰라 기본 제공 스킨만 사용하는 저에겐 민규형의 이런 글은 너무 높은 벽이네요 ㅠㅠㅠㅠ
    이런 쪽을 기본적인 것부터 공부할만한 웹사이트가 있나요?
    저도 블로그에서 몇 가지 바꾸고 싶은 부분이 있기는 해서요 ㅋㅋ

    1. 망고 2008年 08月 02日 21時 55分 # M/D Permalink

      평소 내 신조가 인문대생들도 프로그래밍을 할 수 있어야한다는 것인데... 그렇다고는 해도 컴전공이 아닌 이상 취미로 하기에 쉽지 않은 공부지 싶다. 뭐 그래도 공부하다보면 사용하는 도구의 문제일뿐 논리학에서 그리 멀지 않은 것 같다.

      내가 조언해주고 싶은 것이 있다면 공부방법이랄까 순서랄까. 워낙에 방대한 영역이고 빠르게 변화하는 영역이기도 해서 백과사전식 공부는 그다지 추천해주고 싶지 않고, 블로그에서 바꾸고 싶은 부분이 있다면 거기부터 시작하는 것도 나쁘지 않다 싶다. 블로그라는게 워낙 여러 기술들의 집합체라 HTML, CSS, Javascript, PHP, XML, MySQL 등의 기술들을 어렴풋이라도 개념을 잡고 있어야 하거덩. 어디를 어떻게 바꾸기 위해서는 어떤 기술이 필요한지는 좀 더 자세한 내용이 필요할 것 같고.

      졸업이다, 학점이다, 취업이다, 바쁘겠지만 조금 여유내서 외국어 공부하는 셈치고 1학년 프로그래밍언어 (C언어?) 수업 하나 들어보는 것도 나쁘지 않은 도전이지 싶네. ㅋ

  2. [RA]Penguin 2008年 08月 04日 21時 54分 # M/D Reply Permalink

    복잡한 건 아니고, 그냥 간단히 디자인이나 좀 바꿔볼까 하는데 소스 건드리기가 너무 힘들어서요 ㅋ 저번에 바꿀 때도 분명 간단한 것만 바꿨는데 그게 그렇게 어려울 수 없더라고요. 역시 C부터 시작해야 하는 건가요… 안그래도 그거 들어보려고 했다가 공대 다니는 친구가 학기 중에 듣는 건 적극 만류라고 하길래 포기했었는데 ㅠㅠ

    아 YCV에 있을 때 맨날 컴퓨터나 뜯었다 붙였다 하지 말고 저런 걸 공부할껄그랬어요 ㅠㅠ

    1. 망고 2008年 08月 04日 22時 49分 # M/D Permalink

      혼자 공부하는건 아무래도 동기부여가 잘 안되니까 수업을 듣는게 좋지. 물론 프로그래밍 언어를 배우겠다는 진지한 자세가 있다는 전제하에서지만.

      뭐 학점은 포기해야할지 모르겠지만 교수님께 잘 어필만 한다면야 B정도는 마크할 수 있지 않을까? 실제로 우리 교수님들 공대생들이 수업들으면 조금 이쁘게 봐주시는 면도 있었던 것 같고.

      그렇다곤해도 C언어 자체를 쓰는 일은 거의 없어. 네가 말하는 디자인 변경은 HTML,CSS,Javascript 삼총사면 해결될 것 같다. (디자인 감각은 제외하고 ㅋㅋ) C언어를 통해 프로그래밍 언어에 대한 개념을 파악하는거지. 1학년 수업중에 다른 언어 수업이 있다면 그것도 괜찮겠네. Ruby나 Python, smalltalk 같은거! 될 수 있으면 새로운 언어로 하는 것도 어차피 새로 시작하는거니 초심자에게 유리할 수도 있고.

  3. [RA]Penguin 2008年 08月 04日 23時 23分 # M/D Reply Permalink

    넹 학교에 돌아가면 한번 도전해 봐야겠네요.
    저야 뭐 디자인 감각은 예전부터 알아주니 프로그래밍 언어만 배우면 완벽하겠군요 ㅋㅋㅋ

    1. 망고 2008年 08月 04日 23時 28分 # M/D Permalink

      모르는거 생기면 물어봐 ㅋㅋ 구글에 물어보는게 나을지 모르지만 ㅋ

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 50 : 51 : 52 : 53 : 54 : 55 : 56 : 57 : 58 : ... 764 : Next »

Recent Photo

recent photo from http://mangolog.tistory.com/ from Mango PhotoLog

Stay Foolish, Stay Hungry.

- 망고


Seoul

Paris

Authors

  1. 망고

Schedule

«  »
with Google Calendar API

Site Stats

Total hits:
200587
Today:
248
Yesterday:
315