Next.js 프로젝트에서 MDX 코드 블럭 꾸미기

마크다운
마크다운 (Markdown)은 마크업 언어 (Markup Language)의 하나로, 여는 태그와 닫는 태그 쌍으로 이루어진 HTML 태그와는 달리 간단한 문법으로 문서를 양식화 할 수 있도록 해줍니다.
개발 프로젝트 등에서 우리가 흔히 마주치는 README.md 파일 과 같이 .md 또는 .markdown 파일은 이러한 마크다운 문서입니다.
마크다운의 기본적인 문법은 아래 Github의 공식 문서에서 확인 할 수 있습니다.
https://guides.github.com/features/mastering-markdown/
MDX
MDX는 마크다운의 상위 집합으로, 마크다운 파일 내에서 JSX를 직접 작성할 수 있게 해줍니다. 이를 통해 동적인 상호작용을 추가하거나 React 컴포넌트를 콘텐츠에 쉽게 삽입할 수 있습니다.
Next.js에서는 로컬 (app 하위 폴더 등)에 MDX 파일을 위치시켜 자동으로 변환해 주거나, 서버나 외부 저장소에서 동적으로 가져와 처리하는 원격 MDX도 지원합니다.
MDX Remote 및 플러그인
원격 MDX를 지원해주는 여러가지 패키지가 있습니다. 그 중 next-mdx-remote 패키지가 주로 사용됩니다.
이러한 패키지는 MDX 파일을 불러와 분석하여 HTML 형태로 변환해 주는 역할을 합니다.
MDX Remote 패키지는 크게 remark 플러그인와 rehype 플러그인을 지원합니다.
remark는 마크다운 문서를 적절한HTML로 변환해 주는 역할을 합니다.rehype는 변환된HTML을 꾸며주거나 후처리 해주는 역할을 합니다.
이번 가이드에서는 여러 rehype 플러그인들 중 코드 블럭을 꾸며줄 수 있는 rehype-pretty-code 플러그인에 좀 더 집중해서 설명할 것입니다.
설치 및 설정
이 가이드는 MDX Remote 패키지를 이용하여 마크다운 파일을 HTML로 변환한 후, prose CSS 클래스 문서를 꾸며 줄 때, Tailwind Typography 플러그인을 사용하는 것을 가정하겠습니다.




