블로그를 작성할 때 코드 스니펫을 공유하는 일이 빈번하다. 특히 인라인 코드 블록은 문장 중간에 코드를 강조하기 위해 사용되는데, Notion 등 사용이 익숙하면 백틱(`)으로 간단하게 인라인 코드를 표시할 수 있다. 그렇다면 티스토리(Tistory)나 다른 블로그 플랫폼에서도 동일하게 구현할 수 있을까? 이번 포스트에서는 백틱을 사용하여 인라인 코드 블록을 쉽게 표시하는 방법을 소개해 본다.
1. 문제 상황
티스토리에서는 기본적으로 백틱을 사용하여 인라인 코드를 표시하는 기능을 제공하지 않는다. 따라서 블로그 포스트 작성 시 `이와 같은` 인라인 코드 강조를 위해 매번 태그를 직접 입력해야 하는 불편함이 있다.
2. 해결 방법
백틱을 사용하여 인라인 코드를 쉽게 표시하기 위해 JavaScript를 활용할 수 있다. 백틱으로 감싸진 텍스트를 자동으로 태그로 변환하는 스크립트를 작성해 보겠다.
코드:
<script>
document.addEventListener('DOMContentLoaded', function() {
// 대상 요소 선택
let rootElement = document.querySelector("div.contents_style");
// 재귀적으로 텍스트 노드 처리 함수
function replaceBackticks(node) {
node.childNodes.forEach(function(child) {
if (child.nodeType === Node.TEXT_NODE) {
// 백틱으로 감싼 부분 치환
let replacedText = child.textContent.replace(/`([^`]+?)`/g, '<code>$1</code>');
if (replacedText !== child.textContent) {
let newFragment = document.createElement('span');
newFragment.innerHTML = replacedText;
node.replaceChild(newFragment, child);
}
} else if (child.nodeType === Node.ELEMENT_NODE && !['FIGURE', 'PRE'].includes(child.tagName)) {
// 재귀적으로 하위 요소 탐색
replaceBackticks(child);
}
});
}
// 처리 시작
replaceBackticks(rootElement);
});
</script>
- 재귀 함수 `replaceBackticks`를 사용하여 모든 자식 노드를 탐색한다.
- 텍스트 노드를 찾으면 백틱으로 감싼 부분을 `code`태그로 치환한다.
- 요소 노드인 경우, `FIGURE`나 `PRE` 태그가 아니면 재귀적으로 하위 노드를 탐색한다.
- 이를 통해 헤더 태그 내부의 텍스트 노드까지 모두 처리할 수 있다.
3. CSS 스타일 적용
태그가 인라인 코드로서의 스타일을 갖추려면 CSS 스타일을 추가해야 한다.
예시:
code {
font-family: "Fira Mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace !important;
line-height: normal;
font-weight: normal;
background: rgba(135,131,120,0.15);
color: #EB5757;
border-radius: 3px;
font-size: 85% !important;
padding: 0.2em 0.4em;
margin-right: 0.2em;
}
이번 포스트에서는 티스토리 등 블로그에서 백틱(`)을 사용하여 인라인 코드 블록을 쉽게 표시하는 방법을 알아보았다. JavaScript를 활용하여 텍스트를 변환하고, CSS를 통해 시각적으로 개선할 수 있다. 이를 통해 개발 관련 포스트 작성 시 생산성을 높이고, 가독성을 향상시킬 수 있다.
예시 결과
- 적용 전:
함수 console.log()은... - 적용 후:
함수 `console.log()`은...
위와 같이 게시물의 가독성이 확연히 증가함을 확인할 수 있다.
'Development > Web (HTML, CSS)' 카테고리의 다른 글
나의 마크다운 블로그 포스트 작성 루틴 (21) | 2024.11.14 |
---|---|
블로그 다크 모드 토글 스위치 만들기 (5) | 2024.10.31 |
Visual Studio Code Live Server 플러그인으로 웹 개발 쉽게 하자 (0) | 2020.08.27 |
Neumorphism (뉴모피즘) CSS로 만들기 (1) | 2020.08.23 |
웹사이트 상단 진행바 넣기 / HTML 16진수 색상코드 쉽게 얻는 법 (0) | 2020.08.17 |