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?
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.
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.
Ajoutez votre README.md
au script (comme indiqué dans le README.md
d'Eugene)
chat LISEZMOI.md | bash github-markdown-toc
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.
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(ajoutez le .wiki
juste avant .git
pour cloner le wikinpm i -g markdown-toc
<!-- toc -->
(sensible à la casse) dans le démarquage de votre wikimarkdown-toc -i my-wiki-markdown.md
(-i
l'éditera à la place)Mise à jour: Je pense que peut-être https://github.com/thlorenz/doctoc est plus populaire maintenant.
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:
Utilisez plutôt AsciiDoc
selon la suggestion de ce commentaire . Par exemple:
:toc: macro
:toc-title:
:toclevels: 99
# Title
## A
### A2
## B
### B2
Consultez l'exemple à la page littlebits/react-popover
(README.adoc
) .
En ligne Table Of Content Generator _ ( raychenon/play-table-of-table )
Vous pouvez choisir le mode Éditer "MediaWiki" qui générera un toc pour les en-têtes, par exemple.
== First ==
== Second ==
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 Content
qui est généré automatiquement comme dans Wikipedia :
Utilisez
{:toc}
Syntak. Voir l'explication .
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
ou via outil local:
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: