Chaotic World

chaotic21c.egloos.com

포토로그 마이가든 방명록



Windows Live Writer를 이용한 Syntax highlighting

이글루스에서는 티스토리에서와 같은 자바스크립트를 이용한 syntax highlighting이 불가능하다.


어떻게 좀 안될까...이리저리 찾아보던 중 Windows Live Writer라는 툴이 있다는 것을 알게 되었다.

여기에서는 각 종 플러그인을 제공하고 있는데, 그 중에서 Code Snippet라는,

썩 괜찮은 syntax highlighting 기능을 제공해 주는 녀석이 있다.

 

그럼 우선 Windows Live Writer 2011부터 설치를 해 보자.

(참고로, 새 버전인 2011버전은 Windows 7 및 Vista만 지원하고 있다. XP를 사용하는 분들은 따로 구버전을

설치하시면 Writer를 사용할 수는 있지만, syntax highlight를 위해 본 글에서 소개하고 있는 Code Snippet 플러그인은

제대로 사용할 수가 없을 것이다. XP에서 설치 후, 테스트를 해 보니 에러 팝업이 발생하면서 실행할 수 없었다.)

위 링크의 페이지로 이동하면 Windows Live 필수 패키지를 설치할 수 있는 실행파일을 다운로드 받게 된다.

실행하여 Windows Live Writer가 설치될 수 있도록 구성해 주고 설치 시작...

 

설치를 마친 후, “시작 > 모든 프로그램 > Windows Live”에서 Windows Live Writer를 실행한다.

“다음”으로 넘어가면,

여기에서는 “기타 서비스”를 선택해 주고 넘어간다. (물론, 이글루스에 블로그가 있다는 가정하에...)

“다음”~

위 그림과 같이 구성을 해 주면 되는데, 이 부분은 “이글루 관리 > 기본 설정”의 “API key”부분을 참조하면 된다.

즉, “블로그 웹 주소”에는 자신의 블로그 주소를, “사용자 이름”에는 “API key”에 있는 “ID”를,

“암호”에는 “API key”에 있는 “API key”(응?)를 복사하여 넣어주면 된다. 이후 계속 암호를 입력하도록 하고 싶지 않으면

“암호 저장”에 체크~

“다음”으로 넘어가면,

위 그림처럼 “Metaweblog API”를 선택해 주고 그 아래엔 “API key”의 “URL”을 복사하여 넣어준다.

“다음”~

검색화면이 나온다. 시간이 좀 필요함...

“예”, “아니오” 무엇을 선택해도 상관없다. 니 맘대로 하세요~

“예”를 선택하면 위와 같이 다운로드 할 수 없다면서 안되기 때문...즉, 하나마나~ ^^;;

드디어 끝났다.

위처럼 작성을 하고 난 뒤 “게시” 아이콘을 눌러주면 내 블로그에 글이 등록된다. 짜잔~~

 

이제, 컴쟁이들이 필요로 하는 syntax highlighting 기능과 관련된 plug-in을 설치해야 한다.

화면헤서 “플러그인 옵션”을 눌러주면,

요런 창이 하나 나온다. 죠기 “확인”버튼 위에 있는 “온라인에서 플러그 인 다운로드...”를 타고 들어가서 찾던가,

아님, 여기 Code Snippet의 링크를 따라가본다.

“Download now”를 이용해 파일을 다운로드 및 설치한다.

OK. 설치가 완료되었다.

이 Code Snippet을 실행하여 소스코드를 복사해 넣으면,

위와 같이 예쁘장한 화면을 볼 수가 있다. “Insert”만 해 주면 끝~!! 인 줄 알았겠지만....아직은 좀 더 할 일이 남아 있다. ^^;;

이렇게 Code Snippet을 이용해 구성된 highlighting 코드로 “게시”를 완료하면 <br>태그가 엄청 들어간 듯한 블로그 화면을 만나게 된다.

버그인지 의도된 결과인지는 모르겠으나 줄 사이에 빈 것을 없애려면 직접 html태그를 건드려줘야 한다.

뭐, 그렇다고 거창하게 이런저런 작업을 할 필요는 없고, 각 라인의 끝에 있는</pre>와 그 다음 라인의 <pre>사이에 있는 공백 및

불필요한 태그를 모두 지워주기만 하면 된다.

(소스코드가 좀 길 경우 약간 피곤해지겠는데...ㅡㅡ;;)

 

암튼...

그래도 이렇게라도 할 수 있는게 어디야..ㅠㅠ

플러그인 제작자에게 감사를...ㅎㅎ


아래는 example~

   1: /** Called when the activity is first created. */
   2: @Override
   3: public void onCreate(Bundle savedInstanceState)
   4: {
   5:     super.onCreate(savedInstanceState);
   6:     setContentView(R.layout.main);
   7: }

1 2 3 4 5 6 7 8 9 10 다음