187 votes

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

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, vous serez dirigé vers une section spécifique de la page.

Comment faire dans le wiki de GitHub ? Avec Markdown ou ce qu'ils utilisent ?

17voto

CorySimmons Points 376

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 format markdown de votre wiki.
  • markdown-toc -i my-wiki-markdown.md ( -i l'éditera en place)
  • Profit

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

16voto

kenorb Points 2464

Actuellement, c'est pas possible pour le faire en utilisant la syntaxe markdown ( .md ). Il existe actuellement un programme non officiel discussion sur la génération automatique de la table des matières TOC sur les fichiers markdown rendus, comme README.md qui énumère certaines de ces idées.

Cependant, il existe d'autres solutions de contournement, par exemple :

8voto

Chetabahana Points 3161

Si vous n'êtes pas en mesure de vous en tenir à Markdown vous pouvez faire comme suit :

Cependant, l'utilisation de Markdown fichiers dans GitHub/repo vous pouvez l'obtenir sur Pages GitHub comme dans Wikipedia

  • quand Jekyll est activé, il génère Pages GitHub en utilisant Kramdown par défaut
  • Kramdown est livré avec Table Of Content . Utilisez {:toc} Syntaxe. Voir l'explication .

3voto

Stefan Points 3

Vous pouvez choisir le mode d'édition "MediaWiki" qui générera un toc pour les en-têtes, par ex.

== First ==

== Second ==

3voto

stopsopa Points 103

Étant donné que github a sa propre façon de générer des attributs id="..." dans les en-têtes h1, h2, h3, etc... en version html après le traitement Markdown (par exemple, Bitbucket utilise un modèle un peu différent qui ralentit le titre des en-têtes en le transformant en id="slug"), il est pratique de ne pas réinventer la roue et d'utiliser une bibliothèque qui inverse ce processus.

J'ai trouvé une très bonne bibliothèque pour cette tâche appelée markdown-toc .

Pour moi, c'est la meilleure solution, car j'ai toujours installé node sur ma machine.

Exécutez simplement npx markdown-toc -i fichier.md .

Et il semble que ce soit l'un des outils les plus populaires pour cette tâche - du moins dans l'écosystème 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

sortie :

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X