코드를 보기 좋게 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">

Site footer 설정하기
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-clipboard
와 show-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