2009년 9월 25일 금요일

티스토리/텍스트큐브 태그를 손쉽게 정리하자!

티스토리 사용하면서 내가 느낀 불편함 중 하나는 태그 정리다.

태그는 대략 아래와 같은 규칙 및 특성을 갖는다.

1. 대소문자의 구분은 없다. 즉, "it""IT"는 같은 태그다.

2. 하지만, 처음 지정한 태그의 대소문자 규칙을 무조건 따라 통일한다.
   즉, 맨 처음 "it"라는 태그를 썼으면, 이후 "IT", "It", "iT"는 자동으로 "it"로 바뀐다.

3. 태그 사이에 공백이 들어갈 수 있으며, 공백도 그냥 문자다.
   즉, "제임스 본드""제임스본드"는 다른 태그다.

4. 컴마(,)는 태그로 지정할 수 없다.

5. 특정 태그를 몽땅 없애거나, 몽땅 변환하는 기능은 없다.
   따라서, "James Bond""제임스 본드"가 공존하기 시작하면 정신이 없어진다.

문제는 처음 블로그를 운영할 때는 별 생각없이 태그를 지정하다 막상 정신을 차려보면 태그를 정리할 수 없게 된단 거다.
(이건 시스템의 문제라기 보단 그냥 인간이 운영하기 때문에 생기는 한계 같음)

이런 문제를 한방에 해결할 수 있는 방법을 찾다가 결국 방법을 찾는 건 포기하고, 프로그램을 하나 간단하게 만들었다.

사용자 삽입 이미지

이젠 식상할 만도 한 특성인 단순하기 짝이 없는 화면.


이 프로그램은 백업파일을 읽어서 사용된 태그를 출력해주고, 규칙에 따라 태그를 정리해 다시 XML 파일로 기록해준다.
이 프로그램의 주요 기능 및 특성은 아래와 같다.

1. 태그 목록 파일은 UTF-8이 아니라 ANSI 포맷으로 저장하고 읽어들임
   (UTF-8 포맷을 쓰는 것이 상식이지만, 태그목록을 대부분 메모장으로 편집할 가능성이 높아 어쩔 수 없었음)

2. 태그 목록을 출력할 때 사용 빈도수를 함께 출력할 수 있음

3. 4GB 이상의 백업 XML 파일도 문제 없이 읽고 씀

4. 태그 목록을 출력할 때와 변환할 때 같은 에디트 박스를 사용함.
    즉, 태그 목록을 출력한 뒤 이 목록을 입맛에 맞게 수정하고 다시 태그 변환을 하면 됨.
    (한편으로는 귀차니즘으로 이런 식으로 구성한 면도 있음)

사용 방법 및 태그 목록 변환 규칙은 아래와 같다.

1. 백업 XML을 정한 뒤 기본 설정인 "TAG 목록 출력" 라디오 버튼을 그대로 두고 "처리!" 버튼 클릭

2. 태그 목록(text file)으로 아래와 같은 형태의 텍스트 파일이 생성됨. (ANSI 포맷이라 메모장으로 읽으면 됨)

it, 25
j, 1
James Bond, 15
제임스 본드, 8
제임스본드, 1
라데팡스, 1
파리, 1

3. 2번에서 생성된 파일을 직접 수정함. 규칙은 아래와 같음.

 - 규칙의 각 줄은 엔터로 구분됨
 - 각 태그는 컴마로 구분됨
 - 한 줄에 태그가 하나 있으면 그 태그를 삭제한다는 뜻임
 - 태그가 두 개 이상이면 맨 앞에 적힌 태그로 변경한다는 뜻임

즉, 위의 태그 목록에서 "it"는 대문자 "IT"로 바꾸고, "제임스 본드" 관련 태그는 몽땅 "제임스 본드"로 바꾸며 잘못 입력된 태그인 "j"를 없애려면 목록을 아래와 같이 작성하면 된다.

IT, it
제임스 본드, James Bond, 제임스본드
j
이렇게 하면 목록에서 언급되지 않는 "라데팡스", "파리"는 그대로 두고, 언급되는 태그만 수정되게 된다.
또한, 한 포스트에 "제임스 본드"와 "James Bond" 태그가 모두 있는 경우 "제임스 본드" 태그는 한번만 기록된다.

4. 설정을 "태그 변환"으로 바꾼 뒤 "처리!" 버튼 클릭.
새로운 파일명으로 새 백업파일이 생성된다.

이 프로그램을 사용하려면 아래 압축파일을 풀면 된다.
언제나 그렇듯이 윈도우 XP 이상의 환경에서는 어떠한 추가 라이브러리도 필요 없고, 언제라도 실행이 가능하다.



덧. 이 프로그램을 만들다 보니 티스토리에서 글의 작성자에 대한 사소한 문제가 생각났다.
팀블로깅을 하거나, 두 블로그를 합치는 등의 과정에서 글의 작성자가 제대로 인식되지 않는 경우가 발생한다.
(본 블로그도 예전 즉, http://bluenlive.net 시절에 작성된 글의 경우 작성자가 비회원으로 나옴)

위의 프로그램을 완성한 뒤에 이러한 목록을 정리해줄 수 있도록 슬쩍 수정했다.
화면이 비슷한데, 사실 화면이 비슷한 것이 아니라 아예 똑같다. 일부 이름과 파일명만 수정했다.

사용자 삽입 이미지

이 프로그램은 백업 XML 파일에서 작성자(author)의 목록을 뽑아주며, 정해진 규칙에 따라 작성자를 통일해준다.
즉, 아래와 같은 목록은

83261, 1284
작성자가 1284인 글을 찾아 작성자를 83261로 바꿔준다.
이 작성자는 티스토리/텍큐닷컴 내부적으로 부여되는 숫자이며, 백업 파일의 <author ....> 태그에서 볼 수 있다.

물론, 설치형 텍스트큐브에서는 이 <author> 태그 자체가 존재하지 않는다.
또한, 태그 정리 프로그램과는 달리 작성자를 없애는 기능은 제공하지 않는다.

이 프로그램은 위의 압축파일에 함께 넣어두었다.

댓글 9개:

  1. trackback from: 부스카님의 믹시
    티스토리/텍스트큐브 태그를 손쉽게 정리하자!

    답글삭제
  2. 윈도 메모장은 이상한 놈이-_-

    UTF-8일 경우 빅 엔디언이 기본인데 내부를 분석해서 포맷을 알기보다는,

    유니코드를 쓸 때엔 꼭 앞에 110- 10- 10- 변환한 바이트 오더를 넣어 주더군요.

    가끔 웹서버에 올렸다가 열받을 때엔 cmd 창에서 edit 써서 직접 bom 3바이트를 지워 버리는 짓을 한답니다.

    뭐 그래도 대부분의 프로그램은 제대로 읽으니까...



    망할.

    답글삭제
  3. @Un-i-que - 2009/09/26 13:24
    메모장이 제정신이었으면 이렇게 UTF-8과 ANSI를 왔다갔다하는 복잡한 코드 안 썼을 겁니다.

    이 XML 백업 자체가 UTF-8을 쓰니까요.

    그럼 이 프로그램의 구조도 쬐금은 덜 복잡해졌을 거구요... OTL

    답글삭제
  4. 잘 쓰겠습니다. [emo=037]냐하~~

    답글삭제
  5. 제임스 본드, 제임스본드, James Bond가 있는 태그를 제임스 본드, James Bond로 바꾸는 건 안 될까요?

    태그로 작동하는 검색이 있다 보니 전 태그를 종종 일부러 그런 식으로 쓰거든요. ㅎㅎ

    답글삭제
  6. @Un-i-que - 2009/09/26 19:54
    그런 방법 자체에 대해 생각을 안 해본 건 아닌데, 규칙 파일을 어떻게 만들어야 될 지 모르겠더군요.



    지금 방식은 규칙파일(태그 변환 목록)을 간단하게 만들 수 있는데, 2개 이상을 사용하려면 규칙파일을 완전히 새롭게 설계해야 되거든요...



    간단하게 해결할 아이디어 있으면 냉큼 반영합니다.



    제가 쓸려고 만든 건데, 여기 독일에선 인터넷이 너무 느려 귀국한 뒤에 적용할 거거든요. ㅎㅎ

    답글삭제
  7. 블로그를 하는 사람한테는 꽤나 유용한 프로그램인거 같습니다.

    좋은 정보 잘 봤습니다.

    답글삭제
  8. 정말 유용합니다. 메모장으로 열경우 글짜가 깨지네요.

    그리고 xml 의 경우 기본브라우져가 아닌 익스로 여는군요. 그거야 뭐 지정하면 되겠지만..



    여하는 간단하고 좋은 프로그램입니다.

    답글삭제