1

주제: TTML의 체계화

공식적으로는 TTML이라는 말을 쓰고 있지 않지만 위지윅 에디터의 소스 코드를 보면 ttml2html, html2ttml 같은 함수들이 있습니다.
대괄호를 이용하는 태터툴즈의 본문 치환자들을 가리키는 말인 것 같은데요..

이것을 조금 더 체계화했으면 합니다.

문제는 현재의 플러그인들은 본문 출력 이벤트를 핸들링해서 각자가 만든 preg_replace 등을 사용하고 있다는 점입니다. 따라서 플러그인에 버그가 있거나 할 경우 태그가 깨지면서 블로그 전체 레이아웃에 큰 영향을 줄 수도 있고 본문이 출력되지 않는다거나 하는 문제가 생길 수 있습니다.

따라서 본문 치환자 이벤트를 전용으로 만드는 것이 좋겠다고 생각합니다. 예를 들면 기본으로 지원되지 않는 치환자인 BOOK이라는 치환자가 있다고 하면 [BOOK|Book Title|Link|ImageURL]과 같은 형태가 가능하겠지요. 이벤트 핸들러를 호출할 때 "Book Title", "Link", "ImageURL" 등을 argument array로 넘겨주고, 핸들러가 리턴한 string을 그 치환자 대신에 넣는 겁니다. (리턴한 string은 html이겠죠)

여기에 추가적으로 rss나 trackback을 보낼 때의 본문 치환자 이벤트 핸들러도 함께 정의해주면 좋을 것입니다. 그때는 단순 텍스트만 출력한다거나 아무것도 출력하지 않는다거나 여러가지 대체 처리가 가능하도록 말이죠.

그리고 TTML의 문법도 확실하게 [TAGNAME|argument1|argument2|...]block text[/TAGNAME] 이런 식으로 계속 갈 것인지 등을 함께 의논해봤으면 합니다.

ps. 스킨 치환자도 이런 식으로 똑같이 적용할 수 있을 겁니다. 반복 영역 지정 문법까지 포함하려면 이벤트 핸들러를 여러 번 호출하면서 call back 형식이 된다든가 해야 될 텐데.. 이 부분이 조금 복잡하겠군요.

ps2. 플러그인들을 위한 위지윅 툴바 이벤트 핸들러도 있었으면... =3=3

daybreaker (2006-04-18 15:55:01)에 의해 마지막으로 수정

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

2

답글: TTML의 체계화

확실히 그 부분 (스킨과 플러그인 등등)에 대한 통일과, 처리 코드 재작성은 필요하다고 생각합니다.

문제라면, 하나는 개발 우선순위고 다른 하나는 플러그인 쉽게 만들기 힘들다고 생각할 수 있다는 점과 이식성의 문제가 되겠네요.

개발 우선순위는 뭐... 아시죠? ㅎㅎㅎ 저희 일을 엄청나게 벌리고 있습니다. smile

쉽게 만들기 힘들지도 모른다는 점은 문서로 커버 가능하니 패스고요, 이식성의 문제는 기존의 방식으로의 하위 호환성을 유지하여 그대로 지원하는 식으로 가면 될 것 같네요.

(만약 호환이 안된다면...... 기존에 존재하던 php 코드들의 재사용이 매우 슬퍼질 것 같습니다.  제 블로그에선 soojung의 포맷팅 루틴을 플러그인으로 만들어 쓰고 있거든요. ㅠ_ㅠ )

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

3

답글: TTML의 체계화

daybreaker 작성:

ps2. 플러그인들을 위한 위지윅 툴바 이벤트 핸들러도 있었으면... =3=3

이쪽은 지원할 수 있는 방법이 있기는 한 것 같습니다 smile

예전 도아님의 블로그에서 ttonwikipedia를 개조한 플러그인을 봤는데, 그 경우 플러그인을 설치하면 위지윅 에디터에 버튼 만들어 주더라구요. 물론 템플릿이 아니라 코드 강제 삽입방식이긴 하지만...

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

4

답글: TTML의 체계화

본문 치환자를 만날때마다 함수를 호출하는 이벤트 방식은 괜찮은 아이디어 같네요..
지금은 기본 치환자들도 if(갤러리) 처리; if(이메이징) 처리; if(쥬크박스) 처리; 같이 단순하게 처리되고 있는데 이런 것도 core/components를 분리하는게 (가능하다면;;) 좋을 것 같습니다
TTML 가이드라인도 만들고 위지윅 에디터도 툴바버튼을 로딩할 수 있게 수정하고..
문제는 역시 시간이려나요 ;ㅁ;

crizin (2006-04-19 10:31:54)에 의해 마지막으로 수정

5

답글: TTML의 체계화

슬슬... ttml parser를 component로 분리해 보겠습니다.

분리를 시키면 그 이후 개선 작업은 용이할테니까요.

한 이틀 여유를 주시죠 smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'