레이블이 블로그 관련인 게시물을 표시합니다. 모든 게시물 표시
레이블이 블로그 관련인 게시물을 표시합니다. 모든 게시물 표시

2010년 12월 7일 화요일

Syntax Highlighter 3용 srt 자막 브러쉬 공개

Syntax Highlighter에서 .SMI 자막은 별도의 브러쉬가 필요하지 않다.
XML/HTML 브러쉬를 적용하면 충분히 예쁘게 보여줄 수 있다.

<SYNC Start=500><P Class=KRCC>
자막제작: BLUEnLIVE< br>
<font color=yellow>배포처: http://zoc.kr</font>
<SYNC Start=7500><P Class=KRCC>&nbsp;

하지만, (내가 선호하는) .srt는 적절한 브러쉬가 없다.
물론, XML/HTML 브러쉬를 적용하면 약간 비슷하게 보여줄 수는 있지만, 2% 부족하다.

다름아닌, 시간을 하일라이팅하지 않는다는 한계가 있다.

1
00:00:00,500 --> 00:00:07,500
자막제작: BLUEnLIVE
<font color=yellow>배포처: http://zoc.kr</font>

시간을 제대로 표시해줄 수 있는 .srt 전용 브러쉬를 만들었다.

1
00:00:00,500 --> 00:00:07,500
자막제작: BLUEnLIVE
<font color=yellow>배포처: http://zoc.kr</font>

브러쉬는 아래 링크에서 다운받을 수 있으며,


사용할 때는 아래와 같이 브러쉬를 지정하면 된다.

<pre class="brush:srt;">


2010년 11월 30일 화요일

JW Player 3.1c 재업데이트

그동안 JWPlayer가 5.3으로 업데이트되었다.
플래쉬와 더불어 HTML5를 지원하는 등 많은 변화가 있었다.

설치는 아래 파일을 다운받아 압축을 푼 뒤에 스킨 업로드를 통해 업로드 하고 나서,


스킨의 <body> 영역 맨 위에 아래의 코드를 삽입하면 된다.

<script type="text/javascript" src="http://블로그 이미지 주소/j_FLVPDF.gif"></script>
<script type="text/javascript">
//<![CDATA[
  FLVPDFHelper.all(
    1,
    1,
    680, 500,
    "http://블로그 이미지 주소/s_player.gif");
//]]>
</script>

덧1. 주의할 점이 하나 있다… 기존 버전에 비해 로고 기능이 빠졌다.
그래서, 8행 다음줄에 있었던 로고 파일 지정이 없어졌다. OTL

덧2. 물론, 기존에 있었던 외부 mp4 파일 재생 기능, 구글닥스를 이용한 PDF/PPT 임베딩 기능 등은 그대로다.

덧3. js 파일은 이전 버전에서 변하지 않았다. 변한 것은 플레이어 코어뿐.

2010년 10월 6일 수요일

텍큐닷컴 블로그의 모바일 페이지 만들기

by BLUEnLIVE | 2009/12/12 10:00

티스토리와 텍큐닷컴은 근본도 비슷하고, 기능도 여러모로 비슷하다. 하지만, 세세하게 뜯어보면 지원되는 기능이 미묘하게 다른데, 그 중...



유사한 기반의 티스토리가 간단한 방식으로 모바일 페이지를 지원하는 것과는 달리 텍큐닷컴은 그런 거 없다.
오히려, 구글 코리아는 텍큐닷컴을 버릴 것이란 입장을 명확히 했기 때문에 앞으로도 그런 서비스는 없다.

하지만, 궁하면 통하는 법이요, 모든 솔루션은 구글에서 나오는 법.



1. 모바일 페이지 생성

Google Mobilizer라는 서비스가 있다.
이 서비스를 이용하면 멀쩡한(?) 블로그에서 모바일 페이지를 생성해준다.

이 서비스를 이용해서 본 블로그의 모바일 주소를 추출하면 아래와 같다.

http://www.google.com/gwt/x?u=http://zoc.kr/2

이로써 비교적 간단한 방법으로 모바일 페이지를 만들었다.


2. 자동으로 모바일 페이지로 전환

위의 방법이 간단한 방법이긴 하지만, 그렇다고, 저런 주소를 정말로 모바일 환경에서 입력할 수는 없다.
모바일 페이지에서 접속하면 자동으로 모바일 페이지로 넘어가도록 해보자.

텍큐닷컴의 스킨에서 <body> 바로 아래에 아래와 같은 코드를 삽입하면 된다.

<script type="text/javascript">
//<![CDATA[
if (navigator.userAgent.match(/Mobile|Windows CE|Windows Phone|Opera Mini|POLARIS/) && !navigator.userAgent.match(/iPad/))
    location.href = "http://www.google.com/gwt/n?u=http://(블로그주소)" + location.pathname;
//]]>
</script>

이 코드는 브라우저에서 페이지를 읽었을 때 모바일 환경이라면 위에서 설명한 모바일 페이지로 이동시킨다.


이렇게 만들어진 내 블로그를 아이폰에서 띄우면 아래와 같은 결과가 나온다.
비록 페이지 이동 등의 기능은 정상동작하지 않지만, 아쉬운 대로 쓸 수는 있다. OTL


덧. 본 포스팅 작성시  블로그를 모바일 페이지로 만들기자동으로 모바일 페이지로 이동하기가 큰 도움이 되었다.

2010년 8월 23일 월요일

트위터 MonkeyFly용 스킨 결정!

egoing 님께서 개발하신 Monkeyfly는 웹기반 트위터의 기능을 극대화시키는 확장이다.
Monkeyfly에서는 css를 활용한 스킨 기능을 지원하는데, 많은 능력자분들께서 css를 공개해주셨다.

그 중 내가 주력으로 사용해온 것은 희주(@jugug) 님의 CSS였다.

한동안 사용하면서 느낀 단점은 지정된 배경색이 원래의 배경을 다 덮어버린다는 거.
(물론, 개발자가 의도한 것임. 내가 느끼기에 단점이라는 것 뿐임)

그래서, 글꼴은 그대로 두고, 배경 및 색깔 부분만 제거해서 쓰기로 했다.
아래는 그렇게 수정된 CSS다.

body #header #logo img
{
    padding-left: 0 !important;
}
#content,.wrapper
{
    border-radius: 5px !important;
}
ul.top-navigation
{
    padding: 0.5em 0;
}
ul.top-navigation a
{
    border-left: 1px solid #cde;
    font: bold 11px tahoma !important;
    margin-right: 1px;
    padding: 0 0 0 5px;
}
ul.top-navigation li:first-child a
{
    border-left: 0;
}
ul.top-navigation a:hover
{
    text-decoration: none;
}
#update_notifications
{
    height: 46px !important;
}
#globalTab
{
    margin-top: 17px;
}
.status-content,.entry-content
{
    font: 13px 나눔고딕 !important;
}
.status-body strong a
{
    font: bold 11px Meiryo !important;
}
td.tdnest:nth-child(even)
{
    background-color: #f5f5f8;
}
#side_base
{
    border-left: 0;
}
#side
{
    width: 198px !important;
}
#side a
{
    font-family: tahoma !important;
    font-size: 11px;
    font-weight: bold;
}
.list-header,.list-header-inner
{
    border-radius: 5px 5px 0 0;
}
#footer-container
{
    min-height: 0 !important;
}
.read-mark
{
    border-bottom: 0 !important;
}
#expand_sidebar
{
    position: fixed;
    top: 82px !important;
}
#pb-side-box
{
    left: 0;
    top: 150px !important;
}
#pb-side-content li
{
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
#pb-side-content li a
{
    font: 11px tahoma !important;
    padding: 1px !important;
}
#pb-side-content #primary_nav
{
    float: left;
    padding-right: 5px;
}
#pb-side-content #side_lists
{
    border-left: 1px solid #ddd;
    float: left;
    padding-left: 5px;
}
#pb-side-content .lock-icon
{
    width: 8px !important;
}
#pb-side
{
    border-style: solid;
    border-width: 1px 0 1px 1px !important;
}
#pb-side-top,#pb-side-bottom
{
    left: 0;
}

이렇게 수정된 CSS가 좀 길어보여서 압축해서 사용하기로 했다.
(사실, 이 CSS는 로컬에 저장되기 때문에 전혀 빨라지는 일은 없음 ㅎㅎ)

body #header #logo img{padding-left:0 !important;}#content,.wrapper{border-radius:5px !important;}ul.top-navigation{padding:0.5em 0;}ul.top-navigation a{font:bold 11px tahoma !important;margin-right:1px;padding:0 0 0 5px;border-left:1px solid #cde;}ul.top-navigation li:first-child a{border-left:0;}ul.top-navigation a:hover{text-decoration:none;}#update_notifications{height:46px !important;}#globalTab{margin-top:17px;}.status-content,.entry-content{font:13px 나눔고딕 !important; }.status-body strong a{font:bold 11px Meiryo !important;}td.tdnest:nth-child(even){background-color:#f5f5f8;}#side_base{border-left:0;}#side{width:198px !important;}#side a{font-weight:bold;font-family:tahoma !important;font-size:11px;}.list-header,.list-header-inner{border-radius:5px 5px 0 0;}#footer-container{min-height:0 !important;}.read-mark{border-bottom:0 !important;}#expand_sidebar{top:82px !important;position:fixed;}#pb-side-box{top:150px !important;left:0;}#pb-side-content li{padding:0 !important;border:0 !important;margin:0 !important;}#pb-side-content li a{padding:1px !important;font:11px tahoma !important;}#pb-side-content #primary_nav{padding-right:5px; float:left;}#pb-side-content #side_lists{border-left:1px solid #ddd;padding-left:5px; float:left;}#pb-side-content .lock-icon{width:8px !important;}#pb-side{border-width:1px 0 1px 1px !important;border-style:solid;}#pb-side-top,#pb-side-bottom{left:0;}

수정 및 배포를 허락해주신 희주(@jugug) 님께 다시 한번 고맙다는 말씀을 드립니다.

2010년 8월 10일 화요일

트위터 어플들아! 링크 규칙을 맞춰라! 특히 한글 해쉬태그!

국내 트위터 사용자가 100만명에 달하고 있다. (관련 링크)
이 많은 사용자들이 모두 트위터닷컴을 사용하는 것은 아닐 것이고, 다양한 트위터 어플들을 사용할텐데…
문제는 이 트위터 어플들 간에 가장 기본적이고 중요한 링크에 대한 규칙이 완전히 다르다는 거

특히, 한글 해쉬태그는 심각하기 짝이 없는 수준이다.
정확히는 트위터 닷컴에서는 한글 해쉬태그를 지원하지 않는다!

다양한 트위터 어플들 중, 내가 사용하는 3종의 트위터 어플 간에 얼마나 링크 해석의 차이가 큰가를 확인해봤다.
출전 선수는 아래와 같다.

- 트위터 닷컴( https://twitter.com ): 레퍼런스다. 이 선수를 빼는 건 말이 안 된다
- 트윗KR ( http://twtkr.com ): 우리나라에선 종종 공식한글판으로도 오인되는 트위터 계의 옴니아2 또는 IE
- Chromed Bird ( Twitter Extension ): 제목 그대로 구글 크롬의 확장


1. 한글 해쉬태그

가장 심각한 문제라고 생각되는 부분이 한글 해쉬태그다.

트위터 닷컴에선 한글 해쉬태그를 지원하지 않는다.
얼마 전까진 #한글_ 의 형식으로 구성된 해쉬태그를 지원했지만, 이제는 더이상 지원하지 않는다.

모든 한글 해쉬태그를 무시하는 트위터 닷컴


트윗KR에서는 트위터 닷컴에서 예전에 지원하던 #한글_ 형식을 지원한다.
오리지널이 어디로 가건 말건 관심 없다.
트윗KR의 무개념은 아래의 크롬드 버드와 비교해보면 더 웃긴다.

엉거주춤한 트윗KR의 한글 해쉬태그


크롬드 버드는 한글을 영문과 동일하게 취급한다.
즉, #한글 (언더바 없음) 형식의 해쉬태그를 그냥 인식해준다.
이 쯤에서 드는 생각… 트윗KR은 왜 굳이 언더바가 포함된 한글 해쉬태그만 인식할까?

차라리 깔끔한 한글 해쉬태그를 지원하는 크롬드 버드



2. 링크 part 1

웹 주소와 메일 주소에서도 해석의 차이가 계속 발생한다.

일단 트위터 닷컴을 보자.
우선 종종 하는 실수인 RT와 http 주소를 붙여서 쓰는 경우, http만 따로 인식하는 상식적인 동작을 보인다.
그리고, 메일 주소는 트위터 아이디와 혼동할 수 있기 때문인지, 별도로 링크처리를 하지 않는다.

명확한 원칙이 느껴지는 트위터 닷컴


트윗KR은 RThttp는 정상적으로 인식하지만, 메일 주소는 개무시하고, 트위터 아이디로 인식한다.
이 문제는 생각해볼수록 웃기기 짝이 없는 문제다.
(트윗KR 개발자들은 이런 문제엔 관심 없나? 아니면, 알아도 무시?)

메일주소를 지멋대로 인식하는 트윗KR


크롬드 버드는 아예 한술 더 뜬다.
RThttp까지 묶어서 링크처리한다. 어쩔~
메일 주소의 일부를 트위터 아이디로 인식하는 정도의 문제는 당연히 지원(?)한다.

주소는 무엇이든 제멋대로 인식하는 크롬드 버드




3. 링크 part 2

웹 주소나 메일 주소 앞뒤에 한글이 붙은 경우의 링크 인식 방식을 확인해봤다.

트위터 닷컴은 모든 경우에서 한글을 무시한다. (알파벳, 숫자, 인가된 기호 몇 개를 제외하고는 모두 무시)
따라서, 아래 캡쳐화면처럼 링크가 아닌 것이 링크로 인식되는 실수는 발생하지 않는다.

그리고, 당연히 모든 메일주소는 무시된다.

역시 명확한 원칙이 느껴지는 트위터 닷컴


트윗KR은 메일 주소의 경우 앞의 2번과 같은 메커니즘으로 동작하기 때문에 한글이 붙건 말건 상관 없다.
웹 링크의 경우, 앞에 붙은 한글은 무시하지만, 뒤에 붙은 한글은 링크로 인식한다. 헐~

메일주소건 한글이 붙은 주소건 제멋대로 인식하는 트 위터KR


크롬드 버드도 트윗KR과 동일하게 동작한다.

트윗KR과 동일한 혼란을 보여주는 크롬드 버드. 어쩔~



물론, 이런 애매한 문제가 발생하는 근본적인 원인은 트위터 닷컴 측의 잘못이다.
링크의 규칙에 대해 정확한 레퍼런스를 정하지 않았을 뿐더러, 종종 바꾸기 때문에 어플 개발자들이 놓칠 수 있다.

하지만, 트위터 어플을 개발하는데, 레퍼런스가 없다면, 가급적 오리지널과 동일하게 동작하도록 하는 것이 상식이다.
그래야 사용자들이 혼란을 느끼지 않는다.
지금의 트위터 어플들은 혼란 그 자체다. 지들이 무슨 Agent of Chaos(조커)냐?

가장 큰 문제라 생각하는 한글 해쉬태그
뒤에 쓸데 없이 언더바(_)를 붙이는 삽질은 대체 누구를 위한 거냐?
트위터 사용자들의 편리를 위한 거냐? 아니면, 트윗KR 개발자들의 고집을 위한 거냐?

2010년 7월 11일 일요일

자바 스크립트에서 trim()에 대한 단상

자바 스크립트는 trim() 함수를 지원하지 않는다.

그래서 정규식을 활용해서 구현해서 사용하는 것이 일반적이다.

 

주어진 문자열의 앞뒤를 동시에 트림하는 함수를 구현한 가장 일반적인 함수는 아래의 형태이다.

 

function trimboth1(str) {
  return str.replace(/^\s+|\s+$/g,'');
}

그런데, 인터넷을 뒤지다가 Faster Javascript Trim이라는 글을 찾았다.

글의 요지는 간단하다. 정규식을 이용하는 것이 가장 빠른 것이 아니라는 것.

 

코드의 길이가 좀 길어지더라도 더 빠른 함수가 필요하다면 아래와 같은 형태가 좋은 것 같다.

 

function trimboth2(str) {
  var space = '\s';
  var left=str.length, right=-1, i;
  for (i=0; i<str.length; i++) {
    if (space.indexOf(str.charAt(i)) == -1) {
      left = i;
      break;
    }
  }
  for (i=str.length-1; i>=left; i--) {
    if (space.indexOf(str.charAt(i)) == -1) {
      right = i;
      break;
    }
  }
  if (left>right) return '';
else return str.substring(left, right+1);
}

Syntax Highlighter 3.0.83 적용!

by BLUEnLIVE | 2009/12/20 21:02

텍큐닷컴에서는 Syntax Highlighter를 지원한다. 비록 업데이트도 늦고(이건 뭐 파일만 바꿔치면 되는 건데... 쩝...) 한계도 좀 있지만, 고...


이미 이 바닥에선 살아있는 전설이 되어버린 Syntax Highlighter가 3.0으로 업데이트되었다. (이하 SH3이라 부름)


텍큐닷컴은 자체적으로 SH2를 지원하지만, 구버전인 2.0.320만 지원한다.
(지금은 2.1.364, 2.1.382를 거쳐 3.0.83까지 나왔음)

텍큐닷컴판 SH의 가장 큰 장점은 사용법이 무척 단순하다는 점이다.
코드를 입력한 뒤에 코드 앞뒤에 [code 언어] [/code]만 쓰면 끝이다.

하지만, 단순한 만큼 파라미터를 지정할 수 없고, 업데이트는 전무하다는 단점이 있다.
게다가 텍큐닷컴이 폐쇄 또는 합병의 절차를 밟고 있기 때문에 큰 것을 기대할 수도 없다.

몇 가지 상황을 고려해서, 아예 2.x 브렌치를 포기하고 3.x로 갈아타기로 했다.

3.0은 기존 버전에 비해 다음과 같은 개선이 있다.

1. 플래쉬 완전 제거

기존의 1.x, 2.x에서는 copy to clipboard 기능을 구현하기 위해 플래쉬를 사용했다.
하지만, 3.x에서는 플래쉬를 완전히 제거하고 브라우저의 기본적인 복사 기능만으로 이 기능이 동작하도록 구현했다.


2. 화면에서 코드 직접 선택 가능

2.x까지는 코드를 선택해보면 일부분만 선택되었다. (그래서 copy to clipboard 기능이 있었음)
하지만, 3.x에서는 원하는 범위까지 코드의 선택이 가능하다.

게다가 더블클릭하면 코드 전체를 선택해준다.


3. 자동 하이퍼링크 생성

코드 중에 하이퍼링크가 있으면 하이퍼링크를 클릭할 수 있도록 해준다.


4. XRegExp 사용

3.x는 정규식 확장 중 하나인 XRegExp를 사용한다.
(그래서 어쩌라고!)


5. CommonJS 완전 호환

(그래서 어쩌란 거냐고!)


6. CSS 지원 강화

CSS의 지원이 강화되었다. 게다가 SASS 3.0도 지원한다.
(다시 한번 말하는데, 그래서 어쩌란 거냐고!!!)


그런데, 이 SH3를 텍큐닷컴에서 그대로 사용할 수 없다.
적용은 가능하지만, 일부 코드가 정상적으로 출력되지 않는다.

그래서 약간의 수정을 가했다.

1. 치환자 입력을 위해 \#를 #로 변환

기존의 티스토리/텍스트큐브 용 SH에서도 적용했던 건데, 지금 와서 없애긴 뭣해서 다시 적용했다.
\#라고 입력하면 #로 출력해준다.
즉, [#\#_HELLO_#\#]이라고 쓰면 [##_HELLO##_]와 같은 치환자로 변신하는 것이다.


2. 코드 맨 앞과 맨 뒤의 <br /> 또는 엔터 제거

왜 생기는지는 모르겠지만, 가끔 이런 형태가 생기는 경우가 있더라.
그래서, 코드 맨 앞뒤에 엔터나 <br />이 있는 경우 제거하도록 했다.


설치하는 방법은 아래와 같다.

1. 파일 업로드

아래 파일을 다운받아 압축을 푼 뒤에 스킨 편집 → 파일 업로드를 통해 업로드한다.



2. 스킨 수정

아래의 코드를 스킨에 삽입한다.

여기서 주의할 점이 몇 가지 있다.


a. <body>에 코드를 삽입해야 함

<head>가 아니라 <body>의 맨 앞에 넣어야 한다.
텍스트큐브닷컴은 <head> 내에 자바 스크립트 코드를 집어넣으면 씹어먹는다.


b. css는 소문자로 업로드 됨

이것 역시 텍스트큐브닷컴의 특성인데, 이미지 파일은 파일명이 그대로 유지되는 것에 비해, css 파일은 소문자로 바뀌어 올라간다.


c. 블로그 이미지 주소를 찾아서 적어야 함

텍스트큐브의 문제점 중 하나인데, 주소에 "./images/"를 적으면 제대로 인식하지 않는다.
그래서, 블로그 이미지 주소를 찾아서 직접 적어줘야 한다.

※ 류청파(koc/SALM) 님이 피를 토하며 댓글을 달고, 관련 글을 쓰셨다. ./images를 적으면 된다고.
하지만, 이론은 이론일 뿐 실제로 적용해보지 않은 이론은 별 쓸모 없더라.
여전히 텍스트큐브닷컴은 종종 상대주소를 인식하지 못한다.

<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shCore.gif"></script>

<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushMsx.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushAvs.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushNasm8086.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushAS3.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushBash.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushColdFusion.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushCpp.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushCSharp.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushCss.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushDelphi.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushDiff.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushErlang.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushGroovy.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushJava.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushJavaFX.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushJScript.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushPerl.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushPhp.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushPlain.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushPowerShell.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushPython.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushRuby.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushSass.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushScala.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushSql.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushVb.gif"></script>
<script type="text/javascript" src="http://블로그 이미지 주소/images/j_shBrushXml.gif"></script>

<link type="text/css" rel="stylesheet" href="http://블로그 이미지 주소/shthemedefault.css"/>
<link type="text/css" rel="stylesheet" href="http://블로그 이미지 주소/shcoredefault.css"/>

<script type="text/javascript">
//<![CDATA[
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
//]]>
</script>


덧1. SH3는 계속 업데이트 되고, 새로운 테마와 언어 파일을 받을 수 있다.
추가 다운로드는 SH3 홈페이지를 확인하기 바람.


덧2. 내 블로그에서는 주석이 잘못 표시되는 문제가 있었다.
확인해보니, 블로그 스킨(css)에 .commentsdisplay가 정의되어 있었다.
아래의 내용을 style.css에 추가해서 해결했다.

.syntaxhighlighter .comments {
    display:inline;
}

2010년 5월 10일 월요일

죽을 때가 되어가는 텍큐닷컴의 "트랙백 추천"의 압박

이젠 죽을 날만 기다리는 텍큐닷컴의 기능 중에 트랙백 추천이 있다.
나름 연관 있는 글들을 찾아 트랙백을 추천하는 기능인데...

지금까지도 무관한 글을 추천한다는 얘기가 많았지만, 이젠 아주 스팸 추천 모드다...

아... 짜증나... 어서 갈아타긴 해야겠는데... 어디로 가냐? ㅠ.ㅠ

화면 그득한 스팸들의 압박...


2010년 5월 5일 수요일

텍큐닷컴이 문 닫으면 어디로 가야 하나?


수많은 텍큐닷컴 사용자들이 이 황당하기 짝이 없는 공지 문구를 보고 당황했다.
나도 마찬가지...

그런데, 막상 옮기려고 생각하니 고민해야할 거리가 한둘이 아니다. 헐...

1. 서비스 제공자가 외부의 압력에 잘 버틸 수 있을까?

거의 같은 구조를 갖고 있지만, 티스토리를 떠났던 이유가 바로 이것이었다.
현정부 들어 정치 관련 글은 아예 쓰지도 않지만, 그런다고 이런 문제에 대해 무관심할 수는 없으니...

이 관점에선 티스토리는 이사갈 후보에 들어가지 않는다.


2. 현재 내 블로그의 data는 100% 그대로 이전할 수 있을까?

멍청한 구글 번역기가 반복적으로 지껄여대는 말이 바로
Q. 내 블로그에 있는 모든  콘텐츠를 블로거로 옮길 수 있나요? 텍스트큐브닷컴의 어떤 기능들이 블로거와 통합되나요?
A. 구글은 사용자 데이터를 그  무엇보다 중시하고 있으며 여러분의 텍스트큐브닷컴에 있던 모든 데이터가 블로거에 이전될 수 있도록 최선을 다할 것입니다. 다만 저희의 노력에도 불구하고 호환이 안되는 몇몇 기능은 이전하기가 여의치 않을 수도 있습니다.있습니다. 새로운 내용이 있으면 업데이트할 계획입니다.
이다.

이게 잘 읽고 생각해보면 지대로 犬소리인 것이... 가령 이미지 슬라이드 쇼의 경우 이전이 가능하냔 거다.
상당히 완성도 높은 이전율을 보이는 크래커(및 워드프레스)에서도 슬라이드 쇼는 첫 이미지만 나타난다.

이걸 나중에 새로운 내용이 있으면 업데이트 한다고 해서 없던 슬라이드 쇼가 생기냔 말이다.

더군다나, 내 블로그엔 내가 만들어 사용하는 BBCode, Cumulus-Tagcloud, LongTail Player 등의 부가 기능이 들어있다.
이 기능들이 100% 그대로 동작할 수 있나? BBCode, LongTail의 경우 내가 추가/변경한 기능도 있는데 말이다.


3. 특히, 바이너리 첨부파일이 잘 올라올 수 있을까?

티스토리/텍큐닷컴 공히 바이너리 파일의 첨부가 원활하기 때문에 작은 크기의 파일을 여럿 올려두었다.
과연 새로운 시스템에서 이제 잘 올라갈 수 있을까?

blogger.com의 경우 바이너리의 업로드는 "구글 사이트 도구"를 사용해야 한다고 하는데, 그럼 자료의 저장이 이원화되는 것이다.
다시 말해 이후 죽었다 깨어나도 다른 서비스로 갈아탈 수는 없다는 것이다. 헐...


4. 기존 블로그와 전혀 다른 시스템에 억지로 적응해야 하나?

텍스트큐브/텍큐닷컴/티스토리는 Blog API를 지원하며, 이를 통해 트랙백, 댓글알림 등의 기능을 제공한다.
하지만, blogger.com은 Blog API를 지원하지 않는다.
(지금은 바뀌었는지 모르겠지만, 어쨌거나 트랙백 기능이 없는 건 확실함)

텍큐닷컴 사용자들이 미친듯한 충성심으로 텍큐닷컴 사용자들끼리만 뭉칠 리가 없잖아!

이미 이 시스템에 적응이 되어있는데, 완전히 새로운 환경에 적응할 수 있을까? 아니, 그럴 필요가 있을까?


여러모로 고민해봤지만, 쉽게 결론이 나지 않는다.
젠장... 걍 다시 친 현정부 성향의 티스토리로 돌아가야 되나? ㅠ.ㅠ

2010년 4월 13일 화요일

텍스트큐브닷컴은 아직도 2009년?

이제 2010도 1/4이 넘게 지난 4월 중순이다.
해가 바뀌면 당연히 각 인터넷 홈페이지의 저작권 문구도 함께 바뀐다.

이렇게...

구글 독일, (c)2010 어쩌구 저쩌구...


하지만, 텍스트큐브닷컴... 여전히 (c)2007-2009를 이어오고 있다.
정말 얘들이 구글 코리아 소속인지가 의심스러울 지경이다...

(c) 2007-2009... 심하지 않냐?


하긴... 구글 코리아가 구글인지도 모르겠지만...

2010년 1월 26일 화요일

텍큐닷컴 버그: "이메이징 소개"

텍스트큐브닷컴 및 티스토리의 이메이징 기능은 이미지를 멋지게 표현해주는 간편하면서도 강력한 도구다.

또한, 단순하면서도 명확한 도구답게 별다른 버그도 없다.

 

하지만, 이메이징 소개를 클릭해보면 버그를 발견할 수 있다.

 

우클릭 한 방이면 언제나 볼 수 있는 이 화면

 

무엇인가를 도와준다고 하는 것 같은데, 뭘 도와달라고 말할 지 엄두가 나지 않는다.

 

이거 뭐 외계어도 아니고... (FF3, IE8 모두 같은 화면임)

 

그런데, 인코딩을 한글로 바꾸면 나오기는 한다. 그런데...

 

여기에도 egoing님의 흔적이 있다. egoing님은 웹 계의 가우스인 것이다!

 

이번엔 php 오류가 발생한다!

 

텍큐닷컴. 요즘 많이 바쁜가?

 

2010년 1월 20일 수요일

BBCode for 텍큐닷컴 3.3 업데이트

가급적 BBCode는 업데이트를 그만하려고 했지만, 사용자의 요청은 언제나 그냥 넘어가지 않는다.
게시판을 통해 Choco2080님께서 spoiler 태그를 추가해달라는 요청을 하셨다.

클라이언트에서 동작하는 특성상 spoiler 태그가 큰 의미가 없을 수도 있지만, 그래도 추가했다.
사용법은 간단하다.

[spoiler]스포일러[/spoiler]

이렇게 사용하면 아래와 같은 모습을 볼 수 있다.


아래 파일을 다운받아 설치하면 되며, 자세한 설치법은 BBCode for 텍큐닷컴 3.2 대공개를 참고하면 된다.


덧. 도우미는 거의 바뀐 점이 없다.

바뀐 것은 버전번호뿐...



2010년 1월 19일 화요일

필명 원복: BLUEnLIVE


그동안 필명으로 사용하던 zockr를 버리고 다시 원래의 BLUEnLIVE로 돌아왔다.
BLUEnLIVE을 안 쓴 이유는 다름 아닌 텍큐닷컴에서 뛰고 있던 멀티의 필명이 BLUEnLIVE였기 때문...

멀티 2개를 모두 폐쇄하고 필명을 BLUEnLIVE로 복귀했다.

2010년 1월 1일 금요일

텍스트큐브닷컴 니들 정말 추천포스트 관리 안 할래?

 

블로그 관리 화면에 들어가니 떡하니 버티고 있는 추천 포스트 중 하나가 탐스런엉덩이다.

뭔가 싶어 클릭해보니 쓰레기같은 블로그 화면이 잠시 나오고 바로 쓰레기같은 홈페이지로 이동한다.

 

누가 무슨 페이지를 만들던지 그건 내가 알바 아니지만, 그런 페이지가 무려 추천포스트에 나오다니!

 

구글코리아 텍스트큐브닷컴 니들 정말 추천포스트 관리 안 할래? 앙?

 

2009년 12월 25일 금요일

JW Player 5.0 적용 실패 ㅡ.ㅡ;

by zockr | 2009/12/12 16:46

IE를 제대로 지원하지 못하는 문제가 있어 몇 차례 업데이트 했는데, 지난번에 업데이트로 모든 문제를 해결했다고 생각했다. 그런데, IE에는...


JW Player는 웹에서 flv/mp4 등을 재생할 수 있는 명품 플레이어다.
기존의 JW Player 도우미에선 4.6.450을 사용했는데, 이게 최근 5.0으로 업데이트되었다.

이걸 어떻게든 텍큐닷컴에 적용해보려고 했는데, 이상하게도 동영상만 재생되고, preview 화면과 인각이 제대로 표시되지 않는다.

파라미터를 잘못 넘겼나해서 여러모로 확인해봤지만, 그 문제는 아닌 것 같다.
좀 더 연구가 필요할 것 같은데, 지금은 일단 포기하고 4.6.450으로 복귀...

좀 고민스러운 부분들은 아래와 같다.

1. preview 확장자를 flvi로 고쳤는게 이게 원인일까?
2. 인각은 확장자도 png로 정상인데 왜 안 나오는 걸까?
3. 파라미터 전달 방식은 하나도 안 바뀐 것 같은데, 혹시 바뀌었는데 모르는 걸까?


JW Player 5.0은 적용할 수 없는 것으로 확인함: 내용 추가 ('09.12.26)

1. preview 파일의 확장자를 확인함. 확장자를 png/jpg 등으로 수정해야 동작
2. 인각은 preview를 못 읽으면서 같이 못 읽는 듯. preview의 확장자를 바꾸니 인각도 읽음
3. 파라미터 전달 방식 자체는 바뀐 것이 없음


2009년 12월 21일 월요일

텍큐닷컴 블로그에서 트위터 글 보기

이미 블로그에 적용한 사람은 다 적용했겠지만, 트위트 웹 클라이언트인 SEARCUS를 소개할 겸 포스팅한다.
트위트 웹 클라이언트엔 여러가지가 강력한 것들이 있지만, 요즘 트윗kr이 대세는 대세인 것 같다.
하지만, 이 놈은 너무 많은 기능을 수용한 나머지 느려터진 모습을 보여준다. (관련글: Ludens님의 twtkr, 트위터의 본질을 잃다)

몇 가지를 찾아봤는데, 그 중 눈에 띈 것은 풍부한 기능에도 불구하고 빠른 동작을 보여주는 SEARCUS.

자신의 블로그에 트위터 글을 보여주고, 클릭시 SEARCUS에서 트위터를 관리하려면 아래와 같이 하면 된다.


1. 파일 올리기

아래의 압축 파일을 풀면 twtkr와 SEARCUS라는 2개의 폴더가 나온다.
그리고, 각각의 폴더에는 j_Twitter2Textcube.gif라는 파일이 있다.

이 두 파일은 (당연히) twtkr또는 SEARCUS에 블로그 글을 연결해주는 파일들이다.

SEARCUS 폴더에 저장된 j_Twitter2Textcube.gif를 스킨 업로드를 통해 올린다.
(혹시나 twtkr에 필이 꽂혔다면 twtkr 폴더에 들어있는 것을 업로드하면 됨)




2. 스킨 수정


스킨에 트위터를 올리려면 아래와 같은 코드를 적절한 위치에 삽입하면 된다.

<div id="twitter_div"> 
<h3>Twitter</h3>
<ul id="twitter_update_list"></ul>
<a href="http://searcus.com/zockr" id="twitter-link" target="_blank" style="display:block;text-align:right;">follow me on Twitter</a>
</div>
<script type="text/javascript" src="http://(블로그 이미지 주소)/j_Twitter2Textcube.gif"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/(트위터id).json?callback=twitterCallback2&amp;count=5"></script></div>


4행의 searcus.com 자리에는 위에서 선택한 트위터 웹 클라이언트의 주소를 적어주면 된다.
그리고, 6, 7 행의 괄호에는 해당되는 주소와 id를 적으면 된다.

이렇게 하는 것으로 작업은 끝이다.
코드가 삽입된 위치에서 아래와 같이 트위터에 올린 글을 볼 수 있을 것이다.


2009년 12월 20일 일요일

텍큐닷컴 용 Syntax Highlighter 2.0 버그 패치

텍큐닷컴에서는 Syntax Highlighter를 지원한다.
비록 업데이트도 늦고(이건 뭐 파일만 바꿔치면 되는 건데... 쩝...) 한계도 좀 있지만, 고무적인 것은 사실이다.

이 기능을 사용하려면 환결설정-글쓰기에서 아래와 같이 체크만 하면 된다.

근데 웬 Code Highlighter? 정식 명칭은 Syntax Highlighter란 말이다!


하지만, 이 기능은 버그가 하나 있는데, Copy to clipboard를 클릭한 뒤 붙이면 앞에 &nbsp;가 붙는 버그이다.

이 버그를 해결하려면 다음과 같이 하면 된다.


1. 관련 파일 설치

아래 파일을 다운받아 압축을 풀어 스킨 올리기를 통해 업로드한다.




2. 스킨 수정

스킨 제일 마지막 부분에 있는 </body> 앞에 아래와 같이 적는다.
이 때 추가적으로 사용하고 싶은 브러쉬(언어) 파일이 있으면 함께 적으면 된다.

<script type="text/javascript" src="http://(블로그 이미지 주소)/j_shCore.gif"></script>
<script type="text/javascript" src="http://(블로그 이미지 주소)/j_shBrushMsx.gif"></script>
</body>


이렇게 수정하면 아래와 같이 제대로 동작하는 모습을 볼 수 있다.


이렇게 동작하는 원리는 간단하다.
SH의 앞부분은 아래와 같다.

if (!window.SyntaxHighlighter) var SyntaxHighlighter = function() {


이 코드를 통해 SH는 여러번 정의되면 그 중 제일 앞에 있는 것만 사용되도록 되어있는데, 텍큐닷컴에서 제공하는 shCore.js보다 먼저 버그가 수정된 j_shCore.gif[footnote]확장자는 .gif이지만, 실제로는 .js 파일임[/footnote]를 등록시키는 것이다.

텍스트큐브닷컴에 "트워터로 글 보내기"를 지원하라!

텍큐닷컴은 글 보내기 기능에서 트랙백, 다음뷰, 미투데이 등으로 글을 보낼 수 있다.


그런데, 꼭 있을 것이라 생각했던 트위터로 글 보내기없더라.

요즘 블로그 세상에서 트위터로 글을 보내는 기능이 없다는 것이 이해가 가지 않는다.
아마도 계획은 있지만, 여러모로 바쁘기 때문에 아닐까하고 생각하고 싶다.

반드시 (당연히 지원해야 하는) 트위터로 글 보내기를 꼭 지원해주면 좋겠다.
트위터로 글 보내기를 지원하라!!!

2009년 12월 19일 토요일

텍큐닷컴은 Syntax Highlighter을 개선하라!

텍큐닷컴이 티스토리에 비해 장점으로 내세웠지만, 의외로 단점이 될 수 있는 것이 바로 Syntax Highlighter(이하 SH)이다.

이 SH는 텍큐닷컴 자체에서 지원해주기 때문에 일단 코드의 입력이 너무 쉽다는 장점이 있다.

원래는 SH을 사용하려면
<pre class="brush:html">
  HTML코드
</pre>

또는
<script type="syntaxhighlighter" class="brush:html"><![CDATA[
  HTML코드
]]></script>

와 같이 장광설을 늘어놓아야 했으며, 그것도 HTML 편집 모드에서 해야 하기 때문에 눈 빠지는 경험을 했어야 했다.

하지만, 텍큐닷컴에서는
[ code html]
  HTML코드
[ /code]

와 같이 간단하게 사용할 수 있다.
(위의 예에서 [ code], [ /code]는 실제로는 공백이 없도록 적어야 함)


하지만, 텍큐닷컴 측의 무관심 덕분에 다른 단점들이 대폭 부각되고 있다.
지금까지 식별된 다섯 가지 단점들을 정리했다.


1. 버그

SH의 버튼 중에 "copy to clipboard"가 있다. 글자 그대로 코드를 클립보드로 보내는 버튼이다.
그런데, 이 버튼을 클릭하면 아래 캡쳐화면처럼 &nbsp;가 잔뜩 달라붙는 문제가 발생한다.


이 문제는 SH의 버그는 아니고, SH와 텍큐닷컴 사이에 발생하는 일종의 충돌이다.
(SH 홈페이지에서는 이 문제가 발생하지 않음)
즉, 이 문제는 텍큐닷컴 측에서 수정을 해줘야 한다. 하지만, 이 문제를 아는지 모르는지 그것조차 알 수 없다.

원래 이 SH를 티스토리용으로 공개할 때는 이 버그를 패치한 상태로 공개했지만, 텍큐닷컴으로 온 지금은 방법이 없다. ㅡ.ㅡ;



2. 버전 업

현재 SH 홈페이지에서 공식적으로 배포하는 버전은 2.1.364로, 2009년 10월에 발표되었다.
하지만, 텍큐닷컴에서 지원하는 버전은 2.0.320으로 이건 5월에 발표된 것이다.
일부 버그도 패치되었고, 새로운 기능도 있는데 왜 버전업을 하지 않는지 이해가 안간다.

추가된 기능 중에는 <pre> 태그 대신 <script> 태그를 사용할 수 있는 기능도 있는데, 이 기능을 사용하면 처음 페이지가 로딩될 때 <pre> 태그의 코드를 보여주지 않아 조금 더 깔끔한 출력을 보여줄 수 있다.



3. highlight 기능 지원

SH의 강점 중 하나가 원하는 행을 강조하는 기능이다.
아래와 같이 적으면 1,2,4 행을 강조해서 보여준다.

<pre class="brush:html;highlight:[1,2,4]">
  HTML코드
</pre>


하지만, 이런 기능을 지원하지 않는다.

[ code html(1,2,3)]
  HTML코드
[ /code]


이러한 형식으로 입력한 경우 괄호 안의 내용을 변환하도록 하면 좋을 것 같다.

(내용 추가: '09.12.20)

현재에도 아래와 같은 꼼수를 사용해서 highlight 기능이 사용이 가능하다.

[ code html;highlight:(1,4)]
  HTML코드1
  HTML코드2
  HTML코드3
  HTML코드4
[ /code]


가능은 하지만, 번거로운데다가 정규식의 꼼수를 사용하는 것이라 텍큐닷컴에서 깔끔하게 사용할 방법을 제공하면 좋겠다.



4. 추가 문법 지원

원래 SH의 강점 중 하나는 추가적으로 문법과 테마를 추가할 수 있는 점인데, 시스템에서 지원하는 과정에서 이런 자유도가 떨어졌다.
테마나 문법을 추가할 수 있는 방안을 제공해야 한다.



5. SH로 표현할 수 없는 표현 추가

[ code] ~ [ /code]로 코드를 묶기 때문에 [ code ]를 SH로 표현할 수 없다.
자기 자신을 표현할 수 있는 우회책을 마련해야 한다.
Syntax Highlighter가 Syntax를 표현할 수 없다니!!


BBCode for 텍큐닷컴 3.2 대공개

기존에 티스토리 용으로 개발해놓은 BBCode를 텍큐닷컴에 적용해서 많은 분들이 사용하고 계셨다.
하지만, 티스토리와 텍큐닷컴의 미묘한 차이가 반영되지 않았다거나 버그가 있는 등의 문제가 있었다.

사실, 텍큐닷컴에 적용한 지는 좀 되었는데, 그동안 개인 사정으로 이걸 포스팅하지 못했다.
(포스팅을 못한 이유 중 하나는 도우미를 만들지 못했다는 점도 있었다)

돌아온 도우미


아시는 분들은 다 아시는 프로그램이니 장광설은 이 쯤에서 접고 간단히 설치 방법과 적용 가능한 BBCode를 설명한다.


1. 설치#1: 파일 업로드

아래 파일을 다운받은 뒤 압축을 풀면 exe 파일 1개와 gif 파일 19개가 나온다.
이 중 19개의 gif 파일을 스킨 올리기에서 몽땅 올린다. (exe는 제외함!)




2. 설치#2: 스킨 수정


위의 #1에서 압축파일에 들어있는 exe 파일이 바로 도우미이다.
블로그의 스킨 편집 메뉴에서 스킨(skin.html) 전체를 복사한 뒤 도우미 창에 붙이고 BBCode 적용 버튼을 클릭하면 창에 붙인 스킨이 수정되는데, 이것을 다시 블로그 스킨에 덮어쓴다.

이 때 주의할 점은 프로그램 하단에 보이는 textcube.com 블로그의 이미지 경로를 지정해둬야 된다는 점이다.
이 경로를 지정하지 않으면 스킨 수정시 이 부분을 반영하지 않으며, 잘못 지정되면 (당연히) 동작하지 않는다.

이 부분을 유의해서 적어야 함. 여기선 의도적으로 앞뒤에 /를 붙였음. (잘못된 예임)




3. 적용 가능한 BBCode#1: 기본 BBCode

아래와 같은 BBCode는 (당연히) 기본적으로 지원한다.

[i]이탤릭[/i] : 이탤릭
[b]볼드[/b] : 볼드
[u]밑줄[/u] : 밑줄
[quote]인용문[/quote] : 인용문 (예제 생략)
[img]이미지 URL[/img] : 이미지 (예제 생략)
[url=http://qaos.com]QAOS[/url] : QAOS (링크)
[color=red]색깔[/color] : 색깔



4. 적용 가능한 BBCode#2: 확장 BBCode. 혹자는 BBCode plus라고도 부름

위의 기본 BBCode 외에 아래와 같은 확장 코드를 지원한다.

[ru]빨간 밑줄[/ru] : 빨간 밑줄
[bu]파란 밑줄[/bu] : 파란 밑줄
[rb]빨간 볼드[/rb] : 빨간 볼드
[bb]파란 볼드[/bb] : 파란 볼드
[red]빨간색[/red] : 빨간색
[blue]파란색[/blue] : 파란색
[ur=http://qaos.com]QAOS[/ur] : QAOS (링크) / 스팸필터 우회용#1
[link=http://qaos.com]QAOS[/link] : QAOS (링크) / 스팸필터 우회용#2
[c=red]색깔[/c] : 색깔
[q]인용문[/q] : 인용문 (예제 생략)
[embed=주소 (폭) (높이)] : 동영상 embed
  [embed=http://kr.youtube.com/watch?v=sxA2FZANE2o]
  [embed=http://kr.youtube.com/v/sxA2FZANE2o 500 300]
  ※ embed에서 폭과 높이는 생략 가능하며, 생략시 425x355로 자동 설정


5. 기타기능: 이모티콘 지원

티스토리에서 적용한 기능을 그대로 갖고온 것인데, 아래와 같은 이모티콘을 지원한다.
이모티콘으로서 쓰기 애매한 --;는 빼버리려다가 그냥 뒀다.

:) ;) :P 8D :( --; :D :O :x




덧. 티스토리 버전과 차이 나는 부분은 다음과 같다: 치환자 지원 코드 삭제(\# → #), urlencode 관련 버그 해결