기본 콘텐츠로 건너뛰기

Featured Post

영어회화 빨리 느는 방법 3가지

블로그 포스트에 highlight 소스코드로 글 이쁘게 올리기

Highlight source code in Blogger and posting


 블로그 글에서 소스코드에 대해 알록달록하게 표시하려면 HTML편집에서 사용할 하이라이트 관련 소스를 입력하고 글을 작성할때 해당 하이라이트 코드를 입력하면 된다.


 블로그에 HTML이나 코드 관련된 내용을 넣을 때 보기 편하게 하기 위해 사용하는 여러 가지 툴들이 있다. Syntax Highlighter, SHJS, code-prettify, Rainbow, Prism, highlight.js 등이 있는데 Syntax Highlighter와 SHJS는 언어별로 별도의 파일을 로딩해야 하는 단점이 있고, code-prettify는 Blogger에서 사용하기에 잘 맞지 않았고, Rainbow는 너무 단조로운 느낌이 있었다. Prisme은 CDN 호스팅을 제공하지 않아 구글 블로그 사용자에게는 불편했기에 최종적으로 선택한 툴은 highlight.js였다. highlight.js는 셋팅 방법이 간단하고 다양한 언어와 설정 파일 형식을 지원하며 다양한 스타일을 제공하지만 코드 줄 번호를 지원하지 않는다. 본 저자는 줄번호에 대한 미련은 없기에 선택에 망설임은 없었다.




 블로그에 highlight.js를 설정하고 사용하는 방법은 아래와 같다.

1. Blogger에 템플릿에 highlight.js 셋팅하기
1.1. 블로거 관리자 로그인 ⇒ 템플릿(Theme) ⇒ HTML 편집으로 들어간다.


1.2. 그림처럼 아래 3줄의 코드를 <head> 끝부분에 입력한다.(highlight.js 사이트 설치 문서에 link 태그를 닫는 부분을 빠져있는데 이 부분을 주의해야 한다. link 태그를 닫지 않으면 Blogger 템플릿 저장할 때 에러가 출력되므로 </link>로 닫아준다.)
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"></link>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>


1.3. 코드에 하이라이트 되는 부분을 사용자 스타일에 맞게 변경할 수 있다. (이 사이트 "Styles"항목에 목록을 선택하면 미리 보기 화면을 볼 수 있으며, 마음에 드는 스타일 이름을 해당 줄의 "default.min.css"에 default"를 지우고 입력함. 예를 들어 Agate 스타일로 하고 싶으면 agate.min.css로 바꿈.)

1.4. 저장 후 코드가 변경되었는지 확인한다.



2. highlight.js를 게시물에 적용하기
2.1. Post를 작성할 때 HTML 모드 상태에서 코드 종류에 맞게 pre와 code 태그로 아래와 같이 입력한다. highlight.js가 자동으로 언어를 잘 인식하지만 그렇지 않은 경우도 있기 때문에 class를 입력해준다.
<pre><code class="java">
public static void main(String[] args)
{
System.out.printf( "Hello world");
}</code></pre>

2.2. 저장하고 미리 보기로 확인한다. 아래와 보기 좋게 나온다.
public static void printOne() {
System.out.println("Hello World");
}


※참고※
▶ pre/code 태그 안에 아래와 같은 html 태그나 부등호 같은 기호가 들어가면 잘못 인식하기 때문에 이를 escape해 줘야 한다.
<pre><code class="html"><h2 style="color: red;">I am Red</h2>
<h2 style="color: blue;">I am Blue</h2></code></pre>
 Accessify라는 사이트에서 간편하게 바꿀 수 있으니 유용하게 활용할 수 있다. 사용할 코드를 위 서비스를 이용하여 escape한 뒤에 그것을 pre/code 태그 안에 넣어주면 작업은 손쉽게 끝난다.
<h2 style="color: red;">I am Red</h2>
<h2 style="color: blue;">I am Blue</h2>

▶ highlight의 폰트나 크기는 Blogger "템플릿" -> "맞춤 설정" -> "고급" -> "CSS 추가"로 가서 아래의 내용을 수정해서 추가할 수 있다.
pre {
margin: 0px 0px;
font-size: 80%;
line-height: 1.3em;
}


댓글

댓글 쓰기

이 블로그의 인기 게시물

스티브 잡스 명언 영어 세상에서 가장 감명 깊은 어록 25가지

"Sometimes Life is going to hit you in the head with a brick. Don't lose faith." "때때로 인생은 당신을 심하게 내두를 것이다. 스스로의 믿음을 잃지 마라."   대부분의 사람들은 적당히 즐기고, 적당히 게으르고, 어렵고 힘든 것은 피하고 싶어 한다. 그들이 무지함과 가난에서 벗어나지 못한 것이 그 이유이다. 반대로 큰 성공을 이룬 후에도 스티브잡스는 "내일 죽는다면"이라는 생각으로 극단적 이리만큼 스스로를 동기부여했다. 무엇인가 이룰 수 있는 사람은 그럴만한 자세가 있다.   스티브 잡스가 남긴 어록 중에 사람들이 가장 감명받은 25가지를 선별해 한글로 번역했다. 스티브 잡스 명언 영어  1  "The people who are crazy enough to think they can change the world are the ones who do." 세상을 바꿀수 있다고 생각하는 제대로 정신나간 사람들이 세상을 변화시킨다.  2  "I've always been attracted to the more revolutionary changes. I don't know why. Because they're harder. They're much more stressful emotionally. And you usually go through a period where everybody tells you that you’ve completely failed." 나는 항상 혁신적인 변화를 쫓아왔다. 그건 더 어려웠기 때문인지 모른다. 혁신은 감정적으로 굉장히 압박이 심하다. 그리고 모든사람들이 당신에게 완벽히 실패했다고 이야기 하는 시기를 이겨내야 한다.  3  "It's really hard to design products b...

영어 8품사의 문장 구조를 예제로 쉽게 이해하자

1. 영어 8품사 정리  영어 8품사(The 8 parts of speech)란 명사, 대명사, 동사, 형용사, 부사, 전치사, 접속사, 감탄사 를 말하며, 동일한 의미나 기능을 하는 낱말들을 8가지로 분류한 것이다. ① 명사(NOUN) - 사물의 이름으로 사람, 장소, 생물/무생물, 추상적 개념 등 생각해 낼 수 있는 모든 것의 이름이다. 영어에서 명사는 셀 수 있는 명사와 셀 수 없는 명사로 나뉘는데, 셀 수 있는 명사는 단수, 복수에 따라 낱말이 달라지는데, 대게 단어 뒤에 "(e)s"가 붙는다. - 셀 수 있는 명사 ex) book → books, pen → pens, dog → dogs, table → tables, party → parties, woman → women ... - 셀 수 없는 명사 ex) coffee, computer, love, water, family, money, information ... ② 대명사(PRONOUN) - 문장에서 명사 대신 사용한다. 대화나 글에서 사람, 사물 등을 '그녀', '저것'등으로 대신 쓰는 것을 대명사라고 한다. ex) I, you, he, she, it, that, none ... ③ 동사(VERB) - 사람, 사물의 동작이나 상태를 나타내는 품사로 문장에서 필수로 들어간다. 현재시제 3인칭 단수면 동사 뒤에 대게 '(e)s'가 붙는데, 3인칭 단수란 I, You, We를 제외한 다른 인물이나 사물이다. 복수가 아닌 단수를 말하고 현재시제는 미래나 과거가 아닌 현재를 말한다. 또한, 표현하려는 문장이 과거면 동사 뒤에 대게 (e)d가 붙는다. - 현재시제 ex) agree, stay, find, ask, eat, access ... - 3인칭 단수 ex) agrees, stays, finds, asks, eats, accesses ... - 과거시제 ex) agreed, stayed, foun...

영어회화 빨리 느는 방법 3가지

영어는 공부가 아니고 운동 이다. 영어회화 빨리 늘고 싶다면 머리로만 하지 말고 귀와 입, 몸으로 해야 한다.  이전 회사에서 모토로라 출신의 팀장이 했던 말이 생각난다. "내가 영어 하려고 한 달에 몇십만 원씩 주면서 강남에 1:1 영어도 해보고, 전화 영어도 해보고, 미국 출장도 오래 있고, 별짓 다해봤는데 영어는 안되더라 . 영어는 미국에 살아야 돼."  지금도 누군가에게는 영어는 별짓 다해도 안 되는 것이겠지만, 누군가에게는 미국, 영국 등 외국인 친구들과 즐겁게 대화하는 언어이고 업무를 처리하기도 하는 수단일 것이다. 당신도 반드시 할 수 있다. 그러니 영어를 별짓 다해도 안되는 걸로 단정 짓지 말고, 우리의 뇌를 멈추게 하지 말자. 지금까지 받은 영어교육은 잘못됐다.  한국인이 일반적으로 영어 교육을 받는 기간은 약 15년이다. 하지만 정작 영어 몇 마디 조차 못하는 게 현실이다. 단면적으로 이 부분만 봐도 과연 실용적인 교육인지 의구심이 들 수밖에 없다. 지금까지도 수십 년 동안 많은 사람들이 여전히 명사, 동사, 5형식 문장 등과 같은 문법 위주의 공부와 독해 위주의 잘못된 공부 방식만 고수하고 있다. 그렇게 공부하다가 하루에 10분 전화영어를 하면 원어민처럼 영어를 할 수 있다는 말에 속아 피 같은 돈을 쓰다가 결국 중도에 포기하는 게 일반적인 사람들의 모습이다. 물론 이런 공부 방식이 전혀 쓸모없는 것은 아니다. 하지만 영어회화에서는 도움이 안 된다는 것이다. 외국인과 대화를 한다거나 미국 드라마를 본다면 철저하게 느낄 것이다. 영어에 투입하는 시간 대부분을 읽고, 듣는 식의 영어공부를 했는데, 입으로 내뱉으라고 하면 안되는 게 당연하다. 또한, 원어민들이 실제로 발음하는 대로 공부하지 않았는데 들리지 않는 것도 당연하다.  장담하건대, 지금까지 했던 영어공부 방법으로는 영어회화를 잘할 수 없다. 돈을 들이지 않아도 되고, 혼자서도 할 수 있는 원초적인 영어회화 빨리 느는 방법 을 알아보...