주제: 웹표준을 위한 스킨 개선 제안
웹표준에 대한 개인의 생각은 각각 다르겠지만, 저 같은 경우는 validator를 통과할 수 있는 수준은 되야된다고 생각합니다.
외국은 설치형뿐만 아니라 포탈형 블로그툴들도 대부분 validator를 통과하는 수준인데
사실상 우리나라 대표 툴이면서 다국어 버전을 지원하는 tt가 그 정도가 안된다면 개인적으로 부끄러운 일이라고 생각합니다.
이 포럼에서 몇몇 글타래도 읽어봤습니다만 부족한 점이 있어 제가 생각한 걸 말씀드리겠습니다.
1. 댓글, 검색목록, 글목록, 방명록 등등의 리스트를 출력할 때 빈태그 문제
<s_list>
<div class="item">
<h3 class="plain-title">'[##_list_conform_##]'에 해당되는 글 [##_list_count_##]건</h3>
<ol class="list">
<s_list_rep>
<li>
<span class="date">[##_list_rep_regdate_##]</span>
<a href="[##_list_rep_link_##]">[##_list_rep_title_##]</a> [##_list_rep_rp_cnt_##]
</li>
</s_list_rep>
</ol>
</div>
</s_list>위와 같이 XHTML 스킨에서는 리스트를 출력할때 ol, ul 등등을 많이 쓸텐데요.
이 경우 목록(li부분)이 하나도 없으면
<ol>
</ol>이런 식으로 빈태그가 출력되버립니다.
이와 같은 문제를 Textpattern에서 쓰는 XML 형식으로 바꾸면 어떨까 싶습니다.
<s_list>
<div class="item">
<h3 class="plain-title">'[##_list_conform_##]'에 해당되는 글 [##_list_count_##]건</h3>
<s_list_rep wraptag="ol" class="list">
<li>
<span class="date">[##_list_rep_regdate_##]</span>
<a href="[##_list_rep_link_##]">[##_list_rep_title_##]</a> [##_list_rep_rp_cnt_##]
</li>
</s_list_rep>
</div>
</s_list>ol을 빼고 <s_list_rep wraptag="ol" class="list">을 넣어서
이것이 실제로는 <ol class="list">를 출력해주고 마지막 </s_list_rep>이 </ol>을 닫아주면 되겠군요.
<s_list_rep>에 속성이 따로 없으면 기존처럼 하고요. 기존 스킨과의 호환성을 지킬 수 있을 겁니다.
2. 코멘트의 고유주소(permalink) 출력 문제
현재는 <s_rp_rep> 치환자가 리스트의 시작을 정의하면서 일괄적으로 <a name="#commentXXXX"></a>를 출력하는데요.
이것의 위치가 <li>...</li> 태그를 벗어나서 <ol>과 <li>사이에 들어가는게 문제죠.
이걸 <s_rp_rep autoid="false">이런식으로 하면 자동으로 출력을 안하고
[##_rp_rep_id_##] 치환자를 둬서 <li>나 다른 <a>태그 안에 id="[##_rp_rep_id_##] " 이런식으로 하게 해주면 좋겠습니다.
3. 자바스크립트의 출력문제
몇몇 분들이 지적했듯이 외부파일로 빼는게 좋겠더군요.
태그안의 onclick 등등과 같은 것까지 외부로 빼서 DOM으로 처리하기에는 거의 불가능해보이더군요.
4. tt가 중간중간 임의로 출력하는 style="" 문제
첨부파일을 본문에 출력할때 등 중간중간 tt가 생성해서 뿌려주는 태그가 있던데요.
그것의 스타일을 전부 외부로 빼고 class나 id로 정의했으면 좋겠습니다.
외부 css를 하나 둬서 스킨과 독립적으로 두고 classs이름들은 "tt-className" 같은 prefix를 넣어서 구별하게 하고요.
그러면 원할경우 그부분도 사용자가 수정할 수 있고 태그에 직접적으로 style을 뿌려주지 않아서 깔끔할 것 같군요.
주저리주저리 길게 썼는데요. 일단은 1, 2번 문제만 해결되도 그럭저럭 validator는 통과할 거 같더군요.
더좋은 의견이 분명 있겠죠? ^^ 기대해 봅니다.
oliverne (2006-06-17 15:20:17)에 의해 마지막으로 수정