MDX Playground
MDX 테스트
2024-08-03 · 6분 · 조회 2이 글은 이제 제 블로그 기준으로 다시 정리한 MDX 실험 노트입니다.
문법과 레이아웃을 한 번에 검증할 수 있도록 구성했습니다.
마크다운(Markdown)은 생각을 빠르게 기록할 수 있고,
MDX는 그 기록을 컴포넌트와 연결해 더 풍부하게 보여줄 수 있습니다.
이 글의 목적은 단순한 문법 소개가 아니라,
제가 실제로 쓰는 글쓰기 방식과 레이아웃 감각을 테스트하는 것입니다.
h2 미니멀리즘
저는 글을 읽을 때 정보량보다 호흡이 먼저 보인다고 생각합니다.
그래서 내용만큼 간격, 대비, 흐름을 신경 씁니다.
글이 편안하게 읽히는 레이아웃을 목표로 삼았습니다.
- 제목과 본문의 톤을 최대한 자연스럽게 연결합니다.
- 정보 계층은 분명하되, 시각적으로 과장하지 않습니다.
- 글 전체를 하나의 덩어리로 읽을 수 있게 합니다.
- 문단 간 간격을 넉넉히 둡니다.
- 한 문단을 읽고 다음 문단으로 넘어갈 때 짧은 휴식이 생깁니다.
- 페이지 상단은 의도적으로 여유를 둡니다.
- 시선이 네비게이션보다 본문 흐름으로 먼저 들어오게 합니다.
- 본문 대비를 과하게 올리지 않습니다.
- 필요한 강조(제목, 굵은 텍스트, 링크)가 더 잘 보입니다.
h3 제목
이 블로그의 본문 구조는 h2와 h3 중심으로만 사용합니다.
**시맨틱 HTML**의 계층을 유지하고, TOC도 과도하게 복잡해지지 않게 하려는 선택입니다.
h1은 페이지 최상위 제목에만 사용합니다.h4이하는 정말 필요할 때만 씁니다.가능하면 안 씁니다.
기본 요소
인용문은 문장의 속도를 잠깐 낮추는 역할을 합니다.
본문에서 가장 중요한 문맥 전환 지점에만 배치합니다.
문장 중간의 기울임은 뉘앙스를 조정하는 데 쓰고,
inline code는 단어를 명확히 구분할 때 사용합니다.
<mark></mark>를 활용해 핵심 포인트를 하이라이트 할 수 있습니다.
내부 링크는 흐름을 이어주고,
외부 링크는 맥락 확장에 사용합니다.
https://github.com/Raoun4136 처럼 URL 자동 파싱도 동작합니다.
구분선은 섹션 전환이 필요할 때만 사용합니다.
목록
- 글을 작성할 때 가장 먼저 독자의 읽기 경로를 생각합니다.
- 그다음 문단 간 연결이 자연스러운지 확인합니다.
- 같은 정보를 반복하는 문장은 과감히 삭제합니다.
순서 목록
- 문제 정의
- 구조 설계
- 구현
- 회고 및 자동화
코드 블록
inline code [1, 2, 3]
Block code
import clsx, { type ClassValue } from 'clsx';
import { twMerge } from 'tailwind-merge';
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}site-top-header.tsx
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import SearchMenu from '@/components/search-menu';
import { RouterPath } from '@/components/lib/constant';
export default function SiteTopHeader() {
const pathname = usePathname();
const breadcrumbs = pathname.split('/').filter(Boolean);
return (
<header>
<Link href={RouterPath.HOME}>Raoun.me</Link>
<SearchMenu posts={[]} notes={[]} />
<span>{breadcrumbs.join(' / ') || 'home'}</span>
</header>
);
}테이블
| 항목 | 설명 |
|---|---|
| 목적 | MDX 문법 + 블로그 컴포넌트 렌더링 검증 |
| 기준 | 읽기 흐름, 레이아웃 안정성, 링크 유효성 |
| 결과 | 문서 렌더링/애니메이션/가독성 검증 완료 |
| 가독성 | 여백, 문장 길이, 문단 구조가 자연스러운지 확인 |
| 확장성 | 코드 블록, 표, 이미지, 링크가 함께 동작하는지 확인 |
| 유지보수 | 나중에 문서를 추가해도 구조가 무너지지 않는지 확인 |
| 좌 | 중앙 | 우 |
|---|---|---|
| 흐름 | 구조 | 밀도 |
이미지
](https://images.pexels.com/photos/262508/pexels-photo-262508.jpeg?cs=srgb&dl=pexels-pixabay-262508.jpg&fm=jpg)
출처 및 참고
- 이 문서의 초기 테스트 구조는 기존에 사용하던 외부 MDX 예제 문서를 참고해 시작했고, 현재 내용은 제 블로그 기준으로 전면 재작성했습니다.
- MDX 공식 문서
- next-mdx-remote-client
- rehype-pretty-code