본문으로 건너뛰기
AZ Tools

마크다운 목차(TOC) 생성기

마크다운 헤딩에서 [text](#anchor) 목차 생성 — 불릿·번호·HTML, GitHub/GitLab/단순 슬러그 규칙.

목차
여기에 TOC가 나타납니다.

사용법

  1. 왼쪽에 마크다운 붙여넣기.
  2. 스타일(불릿/번호/HTML), 슬러그 규칙(공개할 곳에 맞춰), 최소/최대 레벨 선택.
  3. TOC 복사 후 문서 상단에 붙여넣기.

자세한 설명

펼치기

마크다운 문서의 제목에서 목차를 만들어, README 맨 위에 붙여 넣을 수 있는 중첩 링크 목록으로 내놓습니다. 포함할 제목 깊이를 고르고, 실제로 쓰는 호스트의 슬러그 방식을 선택하세요. GitHub, GitLab, 그리고 단순한 형식은 앵커를 만드는 방식이 서로 다릅니다. 한 저장소에서 복사한 목차가 파일을 다른 곳으로 옮기면 슬그머니 동작을 멈추는 이유가 바로 이것입니다. 반복되는 제목에는 GitHub이 붙이는 방식대로 번호가 매겨지므로, Usage라는 절이 세 개 있는 문서에서도 링크가 세 개 모두 첫 번째를 가리키지 않고 각각 알맞은 곳에 도착합니다. 모든 처리는 브라우저에서 이루어지며 문서는 업로드되지 않습니다.

자주 묻는 질문

왜 슬러그 규칙이 3가지?

GitHub은 유니코드 유지(한글 → 한글), GitLab은 더 공격적으로 제거, '단순'은 ASCII 전용 — 일반 마크다운 렌더러에 유용.

중복 헤딩 처리?

GitHub과 같음 — 첫 등장은 그대로, 이후엔 -1·-2 등 접미사. 앵커가 올바르게 해석됩니다.

왜 코드 블록 안 #는 무시?

펜스(백틱 세 개로 된 줄) 안 #로 시작하는 줄은 보통 셸 프롬프트나 주석이지 헤딩이 아닙니다. 파서가 펜스 상태를 추적해 건너뜁니다.

GitHub이 [text](#slug) 잘 렌더링?

네 — GitHub은 모든 헤딩에 자동 ID 생성, 일치 링크 슬러그를 해석합니다. GitHub 스타일 사용.

파일을 다른 호스트로 옮겼더니 목차가 깨졌습니다. 왜죠?

앵커 규칙이 표준화되어 있지 않기 때문입니다. GitHub은 유니코드를 유지하고 대부분의 문장 부호를 없애는데, GitLab을 비롯한 다른 렌더러는 두 가지 모두 다릅니다. 그래서 한쪽에서 잘 열리던 링크가 다른 쪽에서는 죽은 앵커가 됩니다. 파일이 지금 놓인 곳에 맞는 방식으로 다시 생성하세요.

차라리 앵커를 손으로 쓰는 게 낫지 않나요?

제목을 다시는 고치지 않을 생각이라면요. 그러는 사람은 없습니다. 앵커는 제목 텍스트에서 파생되므로 절 이름을 바꾸면 그것을 가리키던 링크가 조용히 깨집니다. 다른 파일이나 이슈에 있는 링크까지 포함해서요. 수정한 뒤 목차를 다시 생성하는 편이 더 값싼 습관입니다.

관련 도구