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 mènera à une section spécifique de la page.
Comment faire cela dans le wiki GitHub? Avec Markdown ou quoi qu'ils utilisent?
Réponses:
C'est bien démontré dans la table des matières de la feuille de triche Markdown .
Si vous survolez un en-tête dans un fichier GitHub Markdown, vous verrez un petit lien simple à gauche de celui-ci, vous pouvez également utiliser ce lien. Le format de ce lien est
<project URL#<header name>
. Le<header name>
doit être tout en minuscules.la source
__TOC__
directement. Il est clair que la logique d'autogénération sous-jacente est là. Mais la fonctionnalité ne semble pas être exposée dans leur style d'édition Markdown. C'est vraiment dommage. Commençons tous à envoyer des demandes de fonctionnalités pour cela et peut-être qu'ils l'activeront.#Headers
place de#headers
. Je pensais que c'était une faute de frappe dans votre réponse. Peut-être pouvez-vous ajouter à votre réponse cette information.Une solution possible (semi-automatisée) est celle d'Eugene Kalinin
github-markdown-toc
. Cet outilREADME.md
analyse essentiellement votre fichier et extrait les en#
-têtes de votre fichier pour créer une table des matières.Nourrissez-vous
README.md
du script (comme indiqué dans EugeneREADME.md
)cat README.md | bash github-markdown-toc
Coupez et collez la table des matières générée et placez-la en haut de votre
README.md
fichierNotez que cette
bash
implémentation ne fonctionne que sous Linux (d'après ce que je peux dire).En remarque, il existe une implémentation golang et il est probablement plus compliqué de se mettre au travail.
la source
Puisque github ne peut pas utiliser
TOC
directement, mais nous avons d'autres alternatives.Vous pouvez générer automatiquement une table des matières via l' outil en ligne:
Générer une table des matières de la table des matières à partir de GitHub Markdown ou Wiki Online
ou via l'outil local:
github-markdown-toc
la source
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(ajoutez le.wiki
droit avant.git
pour cloner le wikinpm i -g markdown-toc
<!-- toc -->
(sensible à la casse) dans le démarque de votre wikimarkdown-toc -i my-wiki-markdown.md
(-i
le modifiera sur place)Mise à jour: je pense que https://github.com/thlorenz/doctoc est peut-être plus populaire maintenant.
la source
Actuellement, il n'est pas possible de le faire en utilisant la syntaxe markdown (
.md
). Il y a une discussion non officielle en cours sur la génération automatique de table des matières TOC sur les fichiers de démarques rendus commeREADME.md
qui répertorie certaines des idées.Cependant, il existe d'autres solutions de contournement telles que:
Utilisez
AsciiDoc
plutôt selon la suggestion de ce commentaire . Par exemple:Vérifiez l'exemple à
littlebits/react-popover
(README.adoc
) .En ligne Tableau de générateur de contenu ( raychenon / play-table des matières )
la source
Si vous n'êtes pas en mesure de vous en tenir à Markdown , vous pouvez faire comme ci-dessous:
Cependant, en utilisant des fichiers Markdown dans GitHub / repo , vous pouvez l'obtenir sur les pages GitHub comme dans Wikipedia
la source
Code Visual Studio
Si vous utilisez Visual Studio Code , il existe une extension facile à utiliser appelée Markdown All in One qui peut créer la table des matières pour n'importe quel fichier .md en un instant.
Ouvrez simplement la palette de commandes (
Ctrl-Shift-P
) ->Markdown: Create Table of Contents
La mise à jour automatique perturbe votre table des matières modifiée?
En guise de conseil supplémentaire, vous pouvez désactiver les "mises à jour automatiques de la table des matières lors de l'enregistrement" à l'aide
dans vos paramètres Visual Studio (Palette de commandes -> Préférences: Ouvrir les paramètres (JSON)).
la source
Vous pouvez choisir le mode d'édition "MediaWiki" qui générera un toc pour les en-têtes, par exemple
la source
En raison du fait 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 de Markdown (par exemple, Bitbucket utilise peu de modèles différents de titre des en-têtes de id = "slug"), il est pratique de ne pas réinventer la roue et d'utiliser la bibliothèque qui a procédé à l'ingénierie inverse.
J'ai trouvé une assez bonne bibliothèque pour cette tâche appelée markdown-toc .
Pour moi, cela me semble la meilleure solution car j'ai toujours installé node sur ma machine.
Il suffit d' exécuter NPX-démarquage toc -i file.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.
production:
la source