Jeśli zajrzysz tutaj: http://en.wikipedia.org/wiki/Stack_Overflow
Zauważysz, że jest tam mała sekcja „Treść”, jeśli klikniesz jeden z linków, przeniesie Cię do określonej sekcji na stronie.
Jak to zrobić w witrynie wiki GitHub? Z Markdownem czy czymkolwiek innym?
Odpowiedzi:
Jest to ładnie pokazane w spisie treści ściągawki Markdown .
Jeśli najedziesz kursorem na nagłówek w pliku Markdown GitHub, zobaczysz mały link prosty po lewej stronie, możesz również użyć tego linku. Format tego łącza to
<project URL#<header name>
. Wszystkie<header name>
muszą być małe.źródło
__TOC__
bezpośrednio. Oczywiście istnieje podstawowa logika automatycznego generowania. Ale funkcjonalność nie wydaje się być widoczna w ich stylu edycji Markdown. Całkiem niefortunne. Zacznijmy wszyscy wysyłać prośby o dodanie funkcji i może to włączą.#Headers
zamiast#headers
. Myślałem, że to pomyłka w twojej odpowiedzi. Być może możesz dodać do swojej odpowiedzi te informacje.Jednym z możliwych (półautomatycznych) rozwiązań jest rozwiązanie Eugene'a Kalinina
github-markdown-toc
. To narzędzie w zasadzie przeszukuje twójREADME.md
plik i wydobywa#
nagłówki, aby utworzyć spis treści.Nakarm swój
README.md
scenariusz (jak odnotowano w Eugene'aREADME.md
)cat README.md | bash github-markdown-toc
Wytnij i wklej wygenerowany spis treści i umieść go na górze
README.md
plikuZauważ, że ta
bash
implementacja działa tylko na Linuksie (z tego, co mogę powiedzieć).Na marginesie, istnieje implementacja golang i prawdopodobnie jest więcej kłopotów z rozpoczęciem pracy.
źródło
Ponieważ github nie może używać
TOC
bezpośrednio, ale mamy inne alternatywy.Możesz automatycznie wygenerować spis treści za pomocą narzędzia online:
Wygeneruj spis treści z GitHub Markdown lub Wiki Online
lub za pomocą narzędzia lokalnego:
github-markdown-toc
źródło
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(dodaj.wiki
prawo przed,.git
aby sklonować wikinpm i -g markdown-toc
<!-- toc -->
(z uwzględnieniem wielkości liter) w markdown swojej wikimarkdown-toc -i my-wiki-markdown.md
(-i
będzie edytować to na miejscu)Aktualizacja: myślę, że może https://github.com/thlorenz/doctoc jest teraz bardziej popularne.
źródło
Obecnie nie jest to możliwe przy użyciu składni markdown (
.md
). Trwa nieoficjalna dyskusja na temat automatycznego generowania spisu treści spisu treści na renderowanych plikach markdown, takich jakREADME.md
lista niektórych pomysłów.Istnieją jednak inne obejścia, takie jak:
Użyj
AsciiDoc
zamiast tego zgodnie z sugestią zawartą w tym komentarzu . Na przykład:Sprawdź przykład w
littlebits/react-popover
(README.adoc
) .Generator spisu treści online ( raychenon / play-table-of-content )
źródło
Jeśli nie jesteś w stanie trzymać się Markdown , możesz zrobić, co poniżej:
Jednak korzystając z plików Markdown w GitHub / repo , możesz je pobrać na GitHub Pages, tak jak w Wikipedii
źródło
Visual Studio Code
Jeśli zdarzy ci się używać Visual Studio Code , istnieje łatwe w użyciu rozszerzenie o nazwie Markdown All in One, które może błyskawicznie utworzyć spis treści dla dowolnego pliku .md.
Wystarczy otworzyć Command Palette (
Ctrl-Shift-P
) ->Markdown: Create Table of Contents
Automatyczna aktualizacja psuje edytowany spis treści?
Dodatkową wskazówką może być WYŁĄCZENIE „automatycznej aktualizacji spisu treści przy zapisywaniu” za pomocą
"markdown.extension.toc.updateOnSave": false,
w ustawieniach programu Visual Studio (Paleta poleceń -> Preferencje: Otwórz ustawienia (JSON)).
źródło
Możesz wybrać tryb edycji "MediaWiki", który wygeneruje toc dla nagłówków, np
źródło
Ze względu na to, że github ma swój własny sposób generowania atrybutów id = ".." w nagłówkach h1, h2, h3, itd ... w wersji html po przetworzeniu Markdown (na przykład Bitbucket używa trochę innego schematu spowalniania nagłówków tytułów do id = "slug") jest wygodne, aby nie wymyślać na nowo koła i nie używać biblioteki, która dokonała inżynierii wstecznej tego procesu.
Znalazłem jedną całkiem dobrą bibliotekę do tego zadania o nazwie markdown-toc .
Wydaje mi się, że jest to najlepsze rozwiązanie, ponieważ zawsze instalowałem node'a na moim komputerze.
Wystarczy wykonać NPX Przecena-toc -i file.md .
I wygląda na to, że jest to jedno z bardziej popularnych narzędzi do tego zadania - przynajmniej w ekosystemie node.js.
wynik:
źródło