본 포스팅은 WordPress Bitnami에 highlight.js 라이브러리를 CDN 방식으로 적용하는 방법을 소개합니다.


highlight.js 라이브러리 소개

highlight.js 라이브러리는 웹 사이트의 코드 블럭에 문법 강조(Syntax Highlighting)를 적용하는 가볍고(용량이 작고) 사용하기 쉬운 JavaScript 라이브러리다. 200개 이상의 프로그래밍 언어를 지원하고 다양한 내장 테마를 제공해 웹 개발자와 디자이너, 개발 블로그를 운영하는 사용자들이 쉽게 사용할 수 있다.

WordPress에서 제공하는 코드 블럭의 디자인은 아래와 같다. 기본적으로 문법 강조를 제공하지 않으므로 코드 블럭에 작성된 코드의 가독성이 떨어지는 단점이 존재한다.

WordPress의 기본 코드 블럭

하지만 highlight.js 라이브러리를 적용하면 문법이 강조되므로 더 전문적이고 읽기 쉽게 만들어 사용자 경험을 개선할 수 있다. 웹 사이트에 대한 전반적인 인상을 향상시키고 사용자가 사이트에 더 많은 시간을 보내도록 유도할 수 있다.


highlight.js 라이브러리 테마 선택 및 CDN 적용

먼저, highlightjs 공식 사이트에서 원하는 테마를 선택하고 CDN 링크를 적용해야 한다. 참고로 highlight.js 라이브러리를 다운로드하고 WordPress에 업로드하는 방법은 테마 및 WordPress 설치 방법에 따라 적용되지 않을 수 있으므로 권장하지 않는다.

Step 1: 테마 선택

highlight.js 공식 웹 사이트(https://highlightjs.org/static/demo/)에서 원하는 테마를 기록한다. 본 포스팅은 Srcery 테마를 사용한다.

Step 2: 테마 파일 편집기 메뉴 이동

WordPress 관리자 계정으로 로그인하고 ‘외모 > 테마 파일 편집기’ 메뉴로 이동한다.

테마 파일 편집기 이동

Step 3: CDN 코드 삽입

테마 파일 편집기 메뉴에서 테마 헤더(header.php) 파일을 선택한다.

테마 헤더(header.php) 파일 선택

그리고 highlight.js 공식 웹 사이트(https://highlightjs.org/download/)에서 cdn 링크가 적용된 아래 코드를 추가한다.

주의사항으로 default.min.css는 기본 테마를 의미하는 파일이므로 Srcery 테마를 사용하려면 default.min.css로 설정된 내용을 srcery.min.css로 변경한다. 테마 이름에 대문자가 존재하는 경우 소문자로 변경하고 띄어쓰기는 하이픈(-)으로 변경한다.

cdnjs

다음과 같이 cdn 링크가 적용된 코드를 <?php wp_head(); ?> 앞에 추가하고 파일 업데이트 버튼을 클릭한다.

CDN 링크가 적용된 코드 적용

wp_enqueue 함수를 사용하여 highlight.js 라이브러리 추가

header.php 파일에 link, script 태그를 사용하여 highlight.js를 추가할 수 있지만 올바른 방법은 아니다. WordPress에서 wp_enqueue_script()와 wp_enqueue_style() 함수를 사용하여 스크립트와 스타일을 로드할 수 있다.

Step 1: 테마 파일 편집기 메뉴 이동 후 테마 기능 선택

테마 파일 편집기 메뉴에서 테마 기능(functions.php) 파일을 선택한다.

functions.php 선택

Step 2: wp_enqueue 함수 사용

아래 코드를 복사하고 functions.php 파일에 코드를 추가한다.

  • wp_enqueue_script(): 워드프레스에서 JavaScipt 파일을 로드할 때 사용된다. 아래 코드에서 highlight.min.js 파일을 로드하는 것을 볼 수 있다.
  • wp_enqueue_style(): 워드프레스에서 CSS 파일을 로드할 때 사용된다. 아래 코드에서 srcery.min.css 파일을 로드하는 것을 볼 수 있다.
  • wp_add_inline_script(): 워드프레스에서 인라인 스크립트를 추가하는 데 사용된다. 아래 코드에서 wp_enqueue_script() 함수로 로드한 highlightjs 스크립트 뒤에 initHighlightingOnLoad() 함수를 호출하여 페이지가 로드될 때 자동으로 코드 블럭을 하이라이팅한다.
function add_highlightjs() {
  wp_enqueue_script( 'highlightjs', '//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js', array(), '11.7.0', true );
  wp_enqueue_style( 'highlightjs-style', '//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/srcery.min.css', array(), '11.7.0' );
  wp_add_inline_script( 'highlightjs', 'hljs.initHighlightingOnLoad();' );
}

Step 3: functions.php 수정 후 업데이트

functions.php 파일에 코드를 추가했으면 파일 업데이트 버튼을 클릭한다.

functions.php에 적용된 코드

highlight.js 라이브러리를 코드 블럭에 적용

이렇게 하여, CDN 방식으로 highlight.js 라이브러리를 WordPress에 적용할 수 있다. 아래는 highlight.js 라이브러리가 적용된 코드 블럭을 캡처한 사진이다.

highlight.js 라이브러리가 적용된 코드 블럭

참고자료

  1. Using highlight.js on WordPress
  2. WordPress : Installing syntax highlighter with Highlight.js Library

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다