주제: [] 문자 처리, 스킨의 세분화
안녕하세요. 옛날(?) crizin님에게 포럼 방문을 제안받았다가 이제서야 들러봅니다.
개인적으로 예전부터 생각하던 것과 요즘 들어 새롭게 생각나는 건의 사항을 같이 올려봅니다.
1. [] 문자 처리.
예전에 태터 클래식일 때도 그랬지만 스킨 자체의 예약어(치환자) 때문에 특정 플러그인을 만들거나 설명할 때 애로사항이 있는 점을 자주 보아왔습니다. 가령 스킨 내부에 있는 특정 치환 문자열을 표시하기 위해 [ # FOO# ] 이런 식으로 적은 다음 [ 와 #는 붙여쓰세요! 하는 식의 글을 보았습니다. 글에서 직접 그대로 표시하면 프로그램 내부의 코드에 의해 치환되어버리기 때문입니다.
HTML에도 이러한 형식의 문제가 있습니다. 그래서 미리 예약된 문자의 의미를 피하기 위해 html entity라는 형식이 있습니다. 다들 아시다시피 <는 < 로 >는 >로 &는 &로 등등. 이것을 태터툴즈에서도 적용할 필요가 있다고 봅니다. [# 로 시작하거나 #]로 끝나는 문자는 프로그램 내부에서 특정한 의미를 가지는 문자열이므로 이것을 entity 처리해주는 것은 어떨까요.
[# 를 [# 로
#] 를 #] 로
이와 마찬가지로 [code]<?php echo 'test'; (...) ?>[/code] 형식의 글을 적는 경우가 있는데, 이럴 때도 [code]는 entity처리를 해주는 것도 필요하지 않을까 싶은데... 위지위그 모드와 HTML 편집 모드에서 충돌이 있을지도 모르겠습니다. (지금 머리가 복잡해서 이전에 생각했던 해당 상황이 잘 떠오르지 않는군요)
겐도님이 공개한 Code Highlight 플러그인을 보면서 설명 글에 [ code ] 와 같은 형식으로 띄워서 적어놓고, 공백은 붙여쓰라는 것을 보니 이 경우에도 entity 처리가 필요하다고 생각했습니다. 만약 구현한다면 아래와 같은 형식으로,
[code](실제 코드 내용)[/code]
이렇게 하면 될 것입니다. 물론 이것은 내용에 실제로 쓰여지는 코드이며 눈으로 보일 때는 [code](실제 코드 내용)[/code] 이렇게 보일 것입니다.
뜻하고자 하는 바가 제대로 전달되었는지 모르겠습니다. 여기서도 code 인용이 가능하기에 충돌을 피하기 위해서 복잡한 & 문자의 사용을 해서 표현했습니다.
2. 스킨 구조의 세분화
스킨 편집을 할때마다 느끼는 것인데 너무나도 방대해서 심리적인 부담이 큽니다. HTML 내에 구조가 모두 들어가있기 때문에 한 눈에 훑어볼 때는 편하지만 세부 사항을 수정하려면 스크롤을 한참 해야합니다. 이미 차기 버전에 이에 대한 대비책으로 수정을 예정 중인 듯 합니다만 개인적인 제안을 해봅니다.
현재 스킨 구조는 크게 상단 중단 하단으로 나눌 수 있습니다. 사이드 바 같은 건 중단으로 분류할 수가 있겠습니다. 1단, 2단, 3단, 4단 스킨을 비롯해서 어떤 스킨이든 크게 3개의 분류로 나누고 이를 따로 편집할 수 있도록 했으면 합니다. HTML 자체를 나누자는 말이 아니라 스킨 파일은 일단 그대로 두고, 편집 화면의 인터페이스를 개선하는 방식입니다.
상단, 중단, 하단 부분으로 편집 인터페이스를 나누어서 표시하고 중단의 경우 사이드 바가 있다면 그 부분도 나눌 수 있습니다. 복잡하게 나눌 필요는 없고 딱 해당 영역이 구분만 되더라도 좋습니다. 실제 HTML 코드는 하나지만 보여지는 화면에서 구분하도록 만들자는 얘기입니다. 대신 웹에서 이런 편집 인터페이스를 구현하는 것은 꽤 난관이 있을지도 모르겠군요.
CSS 부분도 마찬가지입니다. CSS 정의의 제목을 클릭하면 자바스크립트로 해당 CSS가 있는 HTML 코드로 점프하는 기능 정도까진 바라지 않습니다. (구현은 가능하겠지만 브라우저가 무거워서 들썩댈 예감이 드는군요) CSS의 코드 별로 세분화해서 어느 어느 부분을 편집하고 있다는 명시적인 표시만 해주더라도 편집하기에 편하지 않을까 합니다.
가령 달력 CSS 부분은 따로 떼놓아도 충분하며(대개 다른 부분과 같이 건드릴 일이 드뭅니다) 그 밑으로 이어지는 편집자가 추가한 CSS도 각각 분류해서 관리할 수 있도록 한다면 좋을 듯 합니다. 보다 구체적인 사항은 다른 분들의 아이디어로 보충되길 바랍니다.