Tag: Wordpress

WordPress 2.7, 새로운 테마

워드프레스를 2.7 버전으로 업그레이드 했다. 원래 svn으로 개발버전을 쓰고 있었는데, 2.7 베타 버전으로 넘어오면서부터는 svn 버전도 자동으로 업그레이드가 가능해졌기 때문에, 개발 버전의 최전방에서 사는 것보다는 안전한 후방에서 안정 버전에 안주하기로 했다.

2.7 버전에서 개선된 점에 대해서는 웹 상에 이미 많은 자료가 있으므로 생략하고 공식 홈페이지의 링크로 대신한다. 그래도 가장 눈에 띄는 변화인 대쉬보드의 변화, 코어 자동 업데이트, (이전에는 plugin central이라는 플러그인에서 지원하던) 원 클릭 플러그인 설치 등은 너무나 편리해진 부분이라 따로 언급하지 않을 수 없다.

업그레이드 기념으로 테마도 변경을 하기로 했다. Evening Sun이라는 이름의 이 테마는 2단 구성을 하고 있으며, threaded comment를 지원한다는 장점이 있다. 다만 css에서 `(back tick)을 활용하는 inline pre tag의 경우를 따로 지정해 두고 있지 않은 관계로 (모든 pre tag를 넓은 padding을 지정하고 있다) inline에서는 본문을 가리는 문제가 있다. 이거야 inline에서 쓰는 경우와 그렇지 않은 경우를 나눠주면 되는 것이기는 한데, css를 고치는게 귀찮아서 일단 그냥 두었다. 사실 inline에서 pre tag를 쓸 일이 별로 없기는 하니까.

이제는 워드프레스의 테마들이 대부분 위젯을 충실하게 잘 지원하고 있기 때문에, 테마를 바꿔도 위젯을 다시 설정할 필요가 없다는 것은 마음에 드는 일이 아닐 수 없다.

MobilePress

MobilePress는 워드프레스를 모바일 디바이스의 환경에 맞게 출력을 해 주는 플러그인이다. 원래 모바일 환경에는 별다른 관심이 없었지만 아이팟 터치를 구매한 후에 모바일에서의 내 홈페이지의 모습에 약간의 관심을 가지게 되었기 때문에 설치를 해 보았다. 이 플러그인을 사용하면, 기본 테마 외에 모바일용 테마를 따로 적용할 수 있고 iPhone, 오페라 미니, 윈도우 모바일 각각에서 모바일 화면을 쓸 것인지 아니면 컴퓨터 브라우저와 같은 모양으로 할 것인지를 선택할 수도 있다. 

아이팟 터치의 사파리에서 본 모습은 아래와 같다. (다른 모바일 기기가 없어서 미니 오페라나 Win CE Mobile 등에서의 모습은 확인할 수 없었다. 이런 부분에 대한 확인이 가능한 분은 알려주시길…)

MobilePress 적용 화면 (1) MobilePress 적용 화면 (2) MobilePress 적용 화면 (3)

이 정도면 이 블로그는 모바일 대응이 완벽한 사이트라고 할 수 있을 것이다. -_-b

워드프레스에서 소스코드 하이라이트하기

블로그에서 소스 코드를 보여줄 일이 많은 것은 아닌데… 그렇지만 아주 가끔씩은 소스 코드를 보여주거나 커맨드라인 명령어를 보여줘야 하는 경우가 있다. 이 블로그 말고 화학정보학을 다루고 있는 Agile2robust 블로그에서는 코드를 보여줄 일이 좀더 많은 편이다. Agile2robust는 워드프레스가 아닌 텍스트큐브를 쓰고 있고, 여기에 적당한 플러그인이 없는 관계로, 약간의 노력을 들여서 Highlight.js라는 자바스크립트를 이용해서 코드 하이라이팅을 적용하는데 성공했다.

워드프레스에서는 이런 목적으로 다양한 플러그인이 존재하는데 나는 Highlight Source Pro라는 플러그인을 사용하고 있다. 이 플러그인은 코드 하이라이팅 자체는 GeSHi (General Syntax Highlighter)라는 잘 알려진 오픈 소스 프로그램을 이용하고 있다. 굉장히 다양한 종류의 문법을 지원하고 있으므로, 대부분의 필요에 잘 맞을 것이다.

이 플러그인을 설치하여 활성화한 후에, 코드 부분은 <pre lang=’html’>과 같이 해당 언어의 이름이 들어간 pre 태그로 감싸주면 된다. 쉘에서 실행하는 명령어의 경우 bash로 지정을 해 주었는데, 그다지 마음에 들지는 않지만 lang 부분을 입력해 주지 않으면 css로 표시를 다르게 해 주지 않기 때문에 어쩔 수 없다.

RapidWeaver로 한글 블로그 이전하기

얼마전에 MUPromo 번들 판매를 통해서 RapidWeaver를 구입하였다. 이 프로그램은 쉽게 말하면 나모 웹 에디터와 같은 홈페이지 저작 프로그램이다. (맥에서는 꽤 널리 사용되고 있는 프로그램이기도 하다.)

어차피 홈페이지 관리를 쉘 상에서 하는 경우는 거의 없고, 요즘들어서는 컴퓨터 사용도 거의 맥에서만 하기 때문에 RapidWeaver를 이용해서 홈페이지를 관리해보자는 생각이 들었다. 실제 사용을 좀 해 보니 꽤 편리하고 마음에 든다. 2008년도 되고 해서 기존의 홈페이지를 모두 RapidWeaver 기반으로 변경을 했다. 어차피 홈페이지에 별다른 내용이 없었기 때문에 사이트를 만드는 것 자체는 그렇게 오래 걸리지도 않았고 문제가 되지도 않았다. 그런데 블로그에 이르러서는 약간의 문제가 생겼다.

나는 워드프레스를 사용해서 블로그를 운영하고 있었다. 국내에서 가장 유명한 블로그툴이 텍스트큐브라면 세계적으로는 Movable Type과 함께 워드프레스가 아마 가장 유명한 블로그 툴일 것이다. 지금쯤은 이미 워드프레스의 사용자가 더 많은지도 모르겠다. 그렇게 기반이 넓은 프로그램인만큼 운영을 하는데 있어서 어려운 점이나 문제되는 것은 전혀 없다. 그냥 한 번 바꿔보자는 생각이 들어서일 뿐.

RapidWeaver에는 Movable Type 데이터를 읽어들이는 기능이 있다. 워드프레스 블로그를 Movable Type 데이터로 내보낼 수 있으니 내 블로그의 내용도 모두 RapidWeaver에서 읽어들일 수 있다는 뜻이다. 당장 시도를 해 봤다.

우선 워드프레스 > Movable Type.

이건 전에 SimpleLog라는 프로그램을 쓰면서 해 본 일이 있다. 다만, 워드프레스 2.3대부터는 카테고리 부분의 테이블 구조가 바뀌었으므로 오래된 스크립트를 쓰면 카테고리가 제대로 나오지 않는다. 따라서 이 링크에 있는 스크립트를 사용해야 한다. 이 파일을 워드프레스가 설치된 디렉토리에 올리고 웹 브라우저에서 열어주면 된다. 브라우저에 뿌려진 텍스트를 파일로 저장하면 Movable Type 데이터로 저장 완료.

다음은 Movable Type > RapidWeaver

기본적으로 RapidWeaver에서 Movable Type import 기능을 제공하지만, 이게 코코아의 텍스트 처리 방식을 따르기 때문에 텍스트 앞에 명시적으로 UTF-8을 나타내는 마커(0xEFBBBF)가 붙어있지 않으면 기본 인코딩을 사용하게 된다. 즉 앞에서 파일을 저장할 때 UTF-8으로 제대로 저장을 했다고 해도 RapidWeaver에서는 이걸 MacRoman으로 인식하고 결국 인코딩이 깨지게 된다.

이 때문에 개발자에게 이메일을 보냈는데, 다음과 같은 해결책을 알려주었다.

 

  1. 수정된 RapidWeaver 파일을 받는다.
  2. 터미널에서 다음과 같은 명령어를 입력한다.

defaults write com.realmacsoftware.rapidweaverpro BlogMovableTypeImportForceStringEncoding -int 4

이렇게 하면 무조건 UTF-8으로 읽어들이게 된다. 지원하는 인코딩을 보니 euc-kr도 없고 cp949도 없기 때문에 한글로 된 기사를 불러오려면 무조건 UTF-8을 써야 한다. 내 경우에는 모든 사이트에서 UTF-8만을 쓰고 있기 때문에 별 문제가 없었다.

이렇게 모든 블로그 기사를 RapidWeaver로 옮겨올 수 있었다. 다만, RapidWeaver는 php까지만 지원을 하고 DB와 연결하여 세팅하도록 되어 있지는 않으므로 (당연히) 블로그에서 코멘트 및 트랙백 기능을 지원하지 않는다. 대신에 Haloscan.com에서 제공하는 무료 코멘트 및 트랙백 서비스를 이용할 수 있다. 다른 블로그에서 이 서비스를 이용하려면 약간의 설치 작업이 필요한데, RapidWeaver에서는 사용자 이름을 입력하는 것만으로 모든 작업이 끝나도록 미리 세팅이 되어 있다. 굳이 내 서버에 코멘트나 트랙백을 저장할 필요가 없다면 Haloscan 서비스도 꽤 쓸만하다고 생각된다.