Blogger에서 syntax highlight 사용 정리
Blogger를 사용하면서 아쉬운 점중에 하나는 code syntax highlight를 사용하기 어렵다는 것입니다. 구글링을 해 보고 좀 불편하지만 나름 동작하는 방법을 찾아냈기에 간단히 정리해 봅니다.
- blogger 메뉴의 템플릿을 선택하고 HTML 편집 버튼을 누른다
- <head>뒤에 다음의 코드를 입력한다. (4줄중 뒤의 두줄은 scala나 sql을 쓸 일이 없다면 생략해도 되겠습니다)
<link href="http://google-code-prettify.googlecode.com/svn/trunk/styles/sunburst.css" rel="stylesheet" type="text/css"/> <script src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js" type="text/javascript"/> <script src='http://google-code-prettify.googlecode.com/svn/trunk/src/lang-scala.js' type='text/javascript'/> <script src='http://google-code-prettify.googlecode.com/svn/trunk/src/lang-sql.js' type='text/javascript'/>
- <body>를 찾아 다음과 같이 수정한다.
<body onLoad="prettyPrint()">
- 템플릿 저장 버튼을 누르고 빠져나온다
위와 같이 하면 dynamic view가 아닌 경우 code의 syntax highlight를 사용할 수 있습니다. dynamic view의 경우 body의 onLoad 자바 스크립트가 실행되지 않으므로(항상 그런건 아닌것 같습니다만...) 글을 다 작성한 다음 HTML 모드에서 다음 코드를 추가해 주어야 합니다. 포스팅할때마다 삽입하는게 귀찮으니 저의 경우 스크래치 패드에 적어놓고 붙이기를 하고 있습니다. 그리고 HTML 모드에서 글쓰기 모드로 바꾸었다 다시 돌아오면 편집기에서 태그를 엉망으로 만드는 단점이 있기도 합니다. -.-;
HTML 모드에서 작성하면 dynamic view에서도 잘 보입니다. 기본적인 내용은 글쓰기 모드에서 작성한 다음 HTML 모드에서 코드를 붙여서 저장하면 굳이 아래의 코드를 덧붙이지 않아도 동작하는 것 같습니다.
<script type="text/javascript"> (function() { try { prettyPrint(); } catch(e) { var scriptId = 'prettyPrinter'; if (document.getElementById(scriptId) === null) { var elem = document.createElement('SCRIPT'); elem.id = scriptId; elem.onload = function() { prettyPrint(); } elem.src = "https://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js"; var theBody = document.getElementsByTagName('body')[0]; theBody.appendChild(elem); } } })(); </script>
참고)
댓글