우리는 종종 리드미를 보는 사람들을 위해 목차를 넣고 싶습니다. 목차는 일반적으로 리드미 내 헤딩 요소들을 헤딩 레벨(h1~h6)에 따라 계층화시키고 링크로 만들어 목차에서 특정 요소를 클릭하면 해당 영역으로 스크롤을 이동시키는 편의를 제공해 줍니다.
다만, 이런 목차를 만듦에 있어 꾸준한 관리가 필요합니다. 리드미 내 헤딩 요소들에 변경이 일어날 때마다 목차의 내용에 일치시켜야 합니다. 그렇지 않으면 링크가 깨지거나 계층이 컨텐츠와 일치하지 않을 것입니다. 그리고 그건 리드미를 보는 사람을 불편하게 만들게 되겠죠.
우리가 만든 리드미는 보통 깃헙에서 보이게 되는데, 사실 깃헙의 리드미 뷰어는 컨텐츠 내 헤딩 요소를 기반으로 목차를 제공해 주기 때문에 우리가 따로 컨텐츠 내 목차를 만들고 관리하지 않아도 됩니다.
그럼에도 불구하고 컨텐츠 내 목차를 추가하고 싶다면, 그건 아마도 누군가가 내 리드미를 조금이라도 잘 봐줬으면 하는 마음일 겁니다. 하지만 컨텐츠 내 목차를 관리하는 건 역시나 계획대로 되지 않을 겁니다.
그래서 우리의 의지를 꺾이지 않게 해 줄 하나의 도구를 소개해드리고자 합니다.
markdown-toc는 마크다운 내 모든 헤딩을 추출해 알맞은 계층화와 링크를 추가시켜주는 도구로 CLI나 Node에서 쓸 수 있습니다. 오늘은 가볍게 사용할 수 있는 방법만 공유하겠습니다. 옵션 등과 같은 세밀한 내용은 깃헙 레포지터리에서 찾아보세요.
https://github.com/jonschlinkert/markdown-toc
리드미 파일 내, 목차를 위치시킬 곳에 <!-- toc -->
입력하고 저장합니다.
<!-- toc -->
# 첫번째 헤딩
문단
## 두번째 헤딩
문단
터미널에서 다음 커맨드를 입력합니다.
# npx markdown-toc -i 목차를삽입할파일
npx markdown-toc -i README.md
그러면 다음과 같은 결과를 얻을 수 있습니다.
<!-- toc -->
- [첫번째 헤딩](#%EC%B2%AB%EB%B2%88%EC%A7%B8-%ED%97%A4%EB%94%A9)
* [두번째 헤딩](#%EB%91%90%EB%B2%88%EC%A7%B8-%ED%97%A4%EB%94%A9)
<!-- tocstop -->
# 첫번째 헤딩
문단
## 두번째 헤딩
문단