GitHub 위키에서 어떤 종류의 목차를 어떻게 만듭니 까?


102

여기를 보면 : http://en.wikipedia.org/wiki/Stack_Overflow

링크 중 하나를 클릭하면 페이지의 특정 섹션으로 이동하는 작은 "콘텐츠"섹션이 있음을 알 수 있습니다.

GitHub 위키에서 어떻게하나요? Markdown 또는 그들이 사용하는 무엇이든?


3
관련이 있지만 정확한 중복은 아닙니다. 자세한 내용은 stackoverflow.com/q/9721944/2291
Jon Adams

답변:


111

Markdown Cheatsheet 의 목차에 잘 설명되어 있습니다.

##### Table of Contents  
[Headers](#headers)  
[Emphasis](#emphasis)  
...snip...    
<a name="headers"/>
## Headers

GitHub Markdown 파일의 헤더 위로 마우스를 가져 가면 왼쪽에 간단한 링크가 표시되며 해당 링크를 사용할 수도 있습니다. 해당 링크의 형식은 <project URL#<header name>입니다. 는 <header name>모두 소문자 여야합니다.


36
확실히 MediaWiki의 _ _ TOC _ _처럼 자동 생성하는 방법이 있습니다.
LB--

17
@ LB-- : GitHub 위키 페이지를 편집하고 "편집 스타일"드롭 다운을 "MediaWiki"로 변경하면 MediaWiki를 __TOC__직접 사용할 수 있습니다. 분명히 기본 자동 생성 논리가 있습니다. 그러나 기능은 Markdown 편집 스타일에서 노출되지 않는 것 같습니다. 아주 유감입니다. 모두에 대한 기능 요청을 보내기 시작하면 아마도 그들은 그것을 켤 것입니다.
Andrew Janke 2015

3
나는 거기에있는 "기본적인 자동 생성 논리"를 철회한다. 다른 "편집 스타일"이 다른 렌더러를 거치는 것처럼 보입니다. 그럼에도 불구하고 MD 버전은 꽤 인기가 있고 추가하기가 어렵지 않기 때문에 이것을 가지고 있으면 좋을 것입니다.
Andrew Janke

5
@AndrewJanke 더 자세히 살펴 보았는데 MarkDown 형식은 목차 자동 생성을 지원하지 않는 것 같습니다.
LB--

6
링크를 만드는 데 한 가지 문제가 있습니다. 소문자 여야합니다. 나는 그것을 몰랐고 왜 내 TOC가 작동하지 않는지 궁금했습니다. 내가 사용하는 #Headers대신 #headers. 나는 그것이 당신의 대답에 오타라고 생각했습니다. 이 정보를 답변에 추가 할 수 있습니다.
t3chb0t 2015 년

20

가능한 (반자동) 솔루션 중 하나는 Eugene Kalinin의 github-markdown-toc. 이 도구는 기본적으로 README.md파일을 처리하고 #의 제목을 훔쳐서 TOC를 만듭니다.

  1. https://github.com/ekalinin/github-markdown-toc 스크립트 다운로드
  2. README.md스크립트에 피드 (Eugene의에서 언급 한대로 README.md)

    고양이 README.md | bash github-markdown-toc

  3. 생성 된 TOC를 잘라내어 붙여넣고 README.md파일 상단에 배치 합니다.

bash구현은 Linux에서만 작동합니다 (내가 말할 수있는 것).

참고로 golang 구현이 있으며 작업하기가 더 번거 롭습니다 .




12

현재 는 마크 다운 구문 ( ) 을 사용하여이를 수행 할 수 없습니다.md . 일부 아이디어를 나열하는 렌더링 된 마크 다운 파일에서 목차 TOC자동으로 생성하는 것에 대한 비공식적 인 논의 가 진행 README.md중입니다.

그러나 다음과 같은 몇 가지 다른 해결 방법이 있습니다.


1
예, 저는 주로 ToC 및 헤더 링크를 위해 asciidoc로 변환되었습니다. Markdown이 따라 잡을 때까지 기다리는 것에 지쳤습니다.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

8

Markdown 을 고수 할 위치가 아니라면 다음과 같이 할 수 있습니다.

  • GitHub의 / 위키 : 전환 마크 다운을미디어 위키 . __TOC__구문을 사용하십시오 . 샘플을 참조하십시오 .
  • GitHub의 / REPO : 전환 마크 다운을AsciiDoc . :toc:구문을 사용하십시오 . 데모를 참조하십시오 .

그러나 GitHub / repo의 Markdown 파일을 사용 하면 Wikipedia 에서와 같이 GitHub 페이지 에서 가져올 수 있습니다.

  • 지킬이 활성화되고, 그것은 생성 GitHub의 페이지를 사용하여 Kramdown을 기본적를
  • KramdownTable Of Content. {:toc}구문을 사용하십시오 . 설명을 참조하십시오 .

5

Visual Studio 코드

Visual Studio Code 를 사용하는 경우 모든 .md 파일에 대한 TOC를 즉시 만들 수 있는 Markdown All in One 이라는 사용하기 쉬운 확장 이 있습니다.

여기에 이미지 설명 입력

Command Palette ( Ctrl-Shift-P) 열기 ->Markdown: Create Table of Contents

원래 md 자동 TOC 삽입 후

자동 업데이트로 인해 편집 된 목차가 엉망입니까?

추가 팁으로 다음을 사용하여 "저장시 자동 TOC 업데이트"를 해제 할 수 있습니다.

  "markdown.extension.toc.updateOnSave": false,

Visual Studio 설정 (명령 팔레트-> 기본 설정 : 설정 열기 (JSON))에서.



2

github에는 Markdown을 처리 한 후 html 버전의 h1, h2, h3 등에서 id = ".."속성을 생성하는 고유 한 방법이 있기 때문에 (예를 들어 Bitbucket은 헤더 제목을 느리게하는 약간 다른 패턴을 사용합니다. id = "slug") 바퀴를 재발 명하지 않고이 프로세스를 리버스 엔지니어링 한 라이브러리를 사용하는 것이 편리합니다.

이 작업에 대해 markdown-toc 라는 아주 좋은 라이브러리를 찾았습니다 .

나에게는 항상 내 컴퓨터에 노드를 설치했기 때문에 최상의 솔루션으로 보입니다.

npx markdown-toc -i file.md를 실행 하십시오 .

그리고 적어도 node.js 생태계에서이 작업을 위해 더 많이 사용되는 도구 중 하나 인 것 같습니다.

ls
cat <<EOF >> test.md | tee 
## Table of Contents

<!-- toc -->
- old toc 1
- old toc 2
- old toc 3
<!-- tocstop -->

## abc
This is a b c.

## xyz
This is x y z.
EOF
ls
cat test.md
npx markdown-toc -i test.md
cat test.md

산출:

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.