코드를 보기 좋게 Ghost에서 PrismJS를 사용해보자

코드를 보기 좋게 Ghost에서 PrismJS를 사용해보자

Code injection으로 PrismJS 추가하기

Site header 설정하기

Settings  Code injection  Site header에 다음과 같이 추가한다.

<!-- Prism.js CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/themes/prism-twilight.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/plugins/toolbar/prism-toolbar.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.css">

Settings  Code injection  Site footer에 다음과 같이 추가한다.

<!-- Prism.js Core -->
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.min.js" defer></script>

<!-- Prism.js Plugins -->
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/autoloader/prism-autoloader.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/toolbar/prism-toolbar.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/show-language/prism-show-language.min.js" defer></script>

<!-- Adds line numbers to code blocks -->
<script>
  window.addEventListener('DOMContentLoaded', (event) => {
    document.querySelectorAll('pre[class*=language-]').forEach(function (node) {
      node.classList.add('line-numbers');
    });
    Prism.highlightAll();
  });
</script>

autoloader는 코드 블록을 강조 표시하는 데 필요한 언어를 자동으로 불러온다.

copy-to-clipboardshow-language를 쓰려면 toolbar가 필요하다.

더 많은 테마와 플러그인

더 많은 테마와 플러그인은 아래에서 확인할 수 있다.

prismjs CDN by jsDelivr - A free, fast, and reliable Open Source CDN
prismjs CDN by jsDelivr - A free, fast, and reliable Open Source CDN for npm and GitHub

각 플러그인 사용법은 아래에서 확인할 수 있다.

Download ▲ Prism