본문 바로가기

IT 서비스 바라보기/Blog

블로그에 소스 코드 넣기



블로그에 프로그래밍 소스 코드 혹은 html 및 javascript 소스 코드를 삽입할 경우 소스에 대한 설명을 넣는 일이 꽤나 귀찮은 작업이고 깔끔하게 보이도록 작성하는 것 또한 쉬운 일은 아니죠. 그래서 이런한 작업을 쉽고 깔끔하게 할 수 있도록 도와 주는 Google에서 공개한 SyntaxHighlighter 를 사용하는 방법에 대해서 소개해 보겠습니다.

먼저 SyntaxHighligher을 다운로드 받습니다.
http://code.google.com/p/syntaxhighlighter/



다운 받은 파일의 압축을 풀면 CSS와 JavaScript 파일들로 구성되어 있습니다. 이 파일을들 tistory에 업로드 하여 사용하면 됩니다.

Admin페이지에 로그인한 다음 스킨페이지에서 파일 업로드(구버전에선 '직접 올리기') 를 선택합니다.



파일업로드 탭에서 파일업로드를 한번 더 선택합니다. (구버전에선 아래쪽에 파일업로드 버튼이 있습니다.)



Styles 폴더에 있는 SyntaxHighlighter.css 파일을 추가합니다.



Scripts 폴더에 있는 모든 JavaScript 파일들을 추가합니다.



이제 필요한 파일들은 모두 업로드 되었으므로 사용가능한 상태가 되도록 HTML/CSS 편집 화면으로 가서 소스 코드를 수정해 줍니다.

HTML/CSS편집에서 skin.html 에

<link rel="stylesheet" type="text/css" href="./images/SyntaxHighlighter.css"/>

를 추가합니다.



그리고 skin.html 페이지의 끝으로 이동한 다음

<script class="javascript" src="./images/shCore.js"></script>
<script class="javascript" src="./images/shBrushCpp.js"></script>
<script class="javascript" src="./images/shBrushCss.js"></script>
<script class="javascript" src="./images/shBrushJScript.js"></script>
<script class="javascript" src="./images/shBrushSql.js"></script>
<script class="javascript" src="./images/shBrushVb.js"></script>
<script class="javascript" src="./images/shBrushXml.js"></script>

<script class="javascript">
dp.SyntaxHighlighter.ClipboardSwf = './images/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>

을 추가해 줍니다.


여기까지 하면 필요한 작업이 완료되었습니다. SyntaxHighlighter를 사용하기 위해서는 <pre> 또는 <textarea> 태그를 사용할 수 있는데 일반적으로 별도의 encoding 이 필요없는 textarea 가 더 편리합니다.
pre 를 사용하든지 textarea 를 사용하든지 class 이름만 적절하게 지정하면 이상 없이 잘 동작하고 언어 종류에 따른 class이름은 아래와 같슽니다.

언어  명칭
C++ cpp, c, c++
C# c#, c-sharp, csharp
CSS css
Delphi delphi, pascal
Java java
Java Script js, jscript, javascript
PHP php
Python py, python
Ruby rb, ruby, rails, ror
Sql sql
VB vb, vb.net
XML/HTML xml, html, xhtml, xslt

사용법은 아래와 같은 소스 코드를 입력하면
<TEXTAREA name="code" class="html">
<TABLE cellSpacing=0 cellPadding=0 width=300>
 <TBODY>
  <TR>
   <TD vAlign=top width=9><IMG height=9 src="http://toolbar.naver.com/images/titbar_ltop.gif" width=9> </TD>
   <TD width=300 background=http://toolbar.naver.com/images/titbar_bgtop.gif height=9></TD>
   <TD vAlign=top width=9><IMG height=9 src="http://toolbar.naver.com/images/titbar_rtop.gif" width=9> </TD>
  </TR>
  <TR>
   <TD background=http://toolbar.naver.com/images/titbar_l.gif></TD><TD height=124>8개 이미지로 처리 </TD>
   <TD background=http://toolbar.naver.com/images/titbar_r.gif></TD>
  </TR>
  <TR>
   <TD><IMG height=9 src="http://toolbar.naver.com/images/titbar_lbtm.gif" width=9> </TD>
   <TD background=http://toolbar.naver.com/images/titbar_bgbtm.gif height=9></TD>
   <TD><IMG height=9 src="http://toolbar.naver.com/images/titbar_rbtm.gif" width=9> </TD>
  </TR>
 </TBODY>
</TABLE>
</TEXTAREA>


아래와 같은 출력화면이 나옵니다. 깔끔하죠? ^^

각 소스 코드에 맞는 class 이름만 잘 변경해서 사용하면 된답니다. ^^
잘 사용하세요~