web-dev-qa-db-fra.com

Comment créer une table des matières dans GitHub wiki?

Si vous regardez ici: http://en.wikipedia.org/wiki/Stack_Overflow

Vous remarquerez qu'il y a une petite section "Contenu". Si vous cliquez sur l'un des liens, cela vous dirigera vers une section spécifique de la page.

Comment est-ce que je fais ceci dans le wiki de GitHub? Avec Markdown ou ce qu'ils utilisent?

45
Evan

Il est bien démontré dans la table des matières de la Markdown Cheatsheet .

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

Si vous survolez un en-tête dans un fichier GitHub Markdown, vous verrez un petit lien simple à sa gauche, vous pouvez également utiliser ce lien. Le format de ce lien est <project URL#<header name>. Le <header name> doit être tout en minuscule.

59
RyPeck

Une solution possible (semi-automatisée) est le github-markdown-toc d'Eugene Kalinin. Cet outil parcourt essentiellement votre fichier README.md et extrait les en-têtes de # pour créer une table des matières.

  1. Téléchargez le script https://github.com/ekalinin/github-markdown-toc
  2. Ajoutez votre README.md au script (comme indiqué dans le README.md d'Eugene)

    chat LISEZMOI.md | bash github-markdown-toc

  3. Coupez et collez la table des matières générée et placez-la en haut de votre fichier README.md

Notez que cette implémentation bash ne fonctionne que sous Linux (d'après ce que je peux dire).

En passant, il y a un golang implementation et il est probablement plus fastidieux de travailler.

11
John Tran

https://github.com/jonschlinkert/markdown-toc

  • git clone your-repo.wiki.git (ajoutez le .wiki juste avant .git pour cloner le wiki
  • npm i -g markdown-toc
  • Insérer <!-- toc --> (sensible à la casse) dans le démarquage de votre wiki
  • markdown-toc -i my-wiki-markdown.md (-i l'éditera à la place)
  • Profit

Mise à jour: Je pense que peut-être https://github.com/thlorenz/doctoc est plus populaire maintenant.

9
corysimmons

Actuellement, c'est impossible de le faire à l'aide de la syntaxe de démarquage (.md). Des discussions non officielles discussions sur la génération automatique de la table des matières de la table des matières sont en cours sur des fichiers de balisage rendus tels que README.md, qui répertorie certaines des idées.

Cependant, il existe d'autres solutions de contournement telles que:

7
kenorb

Vous pouvez choisir le mode Éditer "MediaWiki" qui générera un toc pour les en-têtes, par exemple.

== First ==

== Second ==
2
Stefan

Si vous n'êtes pas en mesure de vous en tenir à Markdown, vous pouvez procéder comme suit: 

  • sur GitHub/wiki: passez Markdown sur MediaWiki . Utilisez __TOC__ Syntak. Voir échantillon
  • sur GitHub/repo: passez Markdown sur AsciiDoc . Utilisez :toc: Syntak. Voir demo .

En utilisant Markdown fichiers dans un repo, vous pouvez le récupérer dans Pages GitHub as Jekyll utilise Kramdown par par défaut , il est déjà livré avec Table Of Contentqui est généré automatiquement comme dans Wikipedia :

Utilisez {:toc} Syntak. Voir l'explication .

2
Chetabahana

Puisque github ne peut pas utiliser TOC directement, nous avons d’autres alternatives.

Vous pouvez générer automatiquement la table des matières via l'outil en ligne:

Générer la table des matières de la table des matières à partir de GitHub Markdown ou de Wiki Online

 enter image description here

ou via outil local:

github-markdown-toc

0
Bravo Yeung

La solution la plus simple pour moi (alors que le serveur node.js est toujours installé et que npm possède npx) consiste à exécuter npx markdown-toc . Il semble que ce soit l’une des solutions les plus populaires à cette tâche:

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

sortie:

 enter image description here

0
stopsopa