J'ai commencé à utiliser le démarque pour prendre des notes.
J'utilise marqué pour voir mes notes de démarque et sa belle.
Mais comme mes notes s'allongent, j'ai du mal à trouver ce que je veux.
Je sais que le démarquage peut créer des tables, mais est-il capable de créer une table des matières, qui saute aux sections ou définit des sections de page dans le démarquage?
Sinon, existe-t-il des lecteurs / éditeurs de démarques qui pourraient faire de telles choses. La recherche serait également une bonne fonctionnalité.
En bref, je veux en faire mon formidable outil de prise de notes et ses fonctions un peu comme écrire un livre, etc.
\tableofcontents
. Si la roue va être réinventée, il serait préférable de copier les bonnes pièces... contents::
.Réponses:
MultiMarkdown Composer semble générer une table des matières pour vous aider lors de l'édition.
Il peut également y avoir l'une ou l'autre bibliothèque, qui peut générer des tables des matières: voir Extension de table des matières Python Markdown .
la source
Vous pouvez essayer.
la source
## Example ## "Example2" ## Third Example<a name="third-example" />
est le seul moyen pour moi de l'avaler jusqu'à présent. La troisième balise serait sûrement interprétée comme -#Third
- suivie d'un espace - puis du mot Exemple - dans votre extrait ci-dessus? Les tirets ne fonctionnent pas du tout. Merci1. [Einführung](#einfuhrung)
Voici une méthode utile. Devrait produire des références cliquables dans n'importe quel éditeur MarkDown.
Produit:
Table des matières
Ceci est l'introduction
Du texte d'introduction, formaté dans le style de la rubrique 2
Un paragraphe
Le texte du premier paragraphe
Sous-paragraphe
Ceci est un sous-paragraphe, formaté dans le style de titre 3
Un autre paragraphe
Le texte du deuxième paragraphe
la source
## <a name="foo" /> Foo
Pour les utilisateurs de Visual Studio Code , une bonne idée est d'utiliser le plugin Markdown TOC .
Pour l'installer, lancez VS Code Quick Open ( Control/⌘+ P), collez la commande suivante et appuyez sur Entrée.
Et pour générer la table des matières, ouvrez la palette de commandes ( Control/⌘+ Shift+ P) et sélectionnez
Markdown TOC:Insert/Update option
ou utilisez Control/⌘+ MT.la source
[Section Foo](#foo-header-title)
et cela fonctionne même en dehors du mode de prévisualisation (c'est-à-dire dans le démarque ordinaire).Vous pouvez essayer ce script ruby pour générer la table des matières à partir d'un fichier de démarque.
la source
ifndef
,include
etendif
, entre autres directives de préprocesseur, à la liste des mots interdits. De plus, définir la liste hors de la portée de la boucle évite d'avoir à la réinstancier à chaque itération. En outre, cela récupérera les commentaires de toute langue qui utilise la#
syntaxe des commentaires, Ruby inclus, ce qui n'est pas bon. Je suis prêt à modifier si vous le souhaitez. Cependant, c'est un excellent début et a bien fonctionné pour mes besoins. Merci beaucoup!#
), pas avec les en-têtes setext (soulignés).title.parameterize
pour le href, merci!Il existe 2 façons de créer votre table des matières (résumé) dans votre document de démarque.
1. Manuellement
2. Par programme
Vous pouvez utiliser par exemple un script qui génère un résumé pour vous, jetez un œil à mon projet sur github - resumeMD -
J'ai aussi essayé d'autres modules script / npm (par exemple doctoc ) mais personne ne reproduit une table des matières avec des ancres fonctionnelles.
la source
Si vous utilisez des démarques supplémentaires, n'oubliez pas que vous pouvez ajouter des attributs spéciaux aux liens, aux en-têtes, aux barrières de code et aux images.
https://michelf.ca/projects/php-markdown/extra/#spe-attr
la source
Les balises d'ancrage générées par différents analyseurs Markdown ne sont pas égales.
Si vous travaillez avec les analyseurs Markdown GFM (GitHub Flavoured Markdown) ou Redcarpet, j'ai écrit un plugin Vim pour gérer la table des matières.
Caractéristiques
Générez une table des matières pour les fichiers Markdown.
Analyseurs Markdown pris en charge:
Mettre à jour la table des matières existante.
Mise à jour automatique de la table des matières existante lors de l'enregistrement.
Captures d'écran
Usage
Générer une table des matières
Déplacez le curseur sur la ligne à laquelle vous souhaitez ajouter la table des matières, puis tapez une commande ci-dessous qui vous convient. La commande générera des en-têtes après le curseur dans la table des matières.
:GenTocGFM
Générez une table des matières dans le style de lien GFM.
Cette commande convient aux fichiers Markdown dans les référentiels GitHub, comme README.md, et aux fichiers Markdown pour GitBook.
:GenTocRedcarpet
Générez une table des matières dans le style de lien Redcarpet.
Cette commande convient à Jekyll ou utilise Redcarpet comme analyseur Markdown.
Vous pouvez voir ici pour connaître les différences entre les liens toc de style GFM et Redcarpet.
Mettre à jour manuellement la table des matières existante
En règle générale, vous n'avez pas besoin de le faire, la table des matières existante sera mise à jour automatiquement lors de l'enregistrement par défaut. Si vous voulez le faire manuellement, utilisez simplement la
:UpdateToc
commande.Téléchargements et documents
https://github.com/mzlogin/vim-markdown-toc
la source
Vous pouvez également utiliser
pandoc
le "couteau suisse" pour convertir "un format de balisage en un autre" . Il peut générer automatiquement une table des matières dans le document de sortie si vous fournissez l'--toc
argument.Astuce: Si vous voulez une table des matières en
html
sortie, vous devez également fournir-s
qui génère un document autonome.Exemple de ligne de commande shell:
la source
Pour ceux qui
README.md
créent des fichiers dans Atom (comment j'ai trouvé ce fil):https://atom.io/packages/markdown-toc
la source
Si vous souhaitez utiliser un outil javascript / node.js, jetez un œil à markdown-toc .
la source
Vous pouvez le générer en utilisant ce bash one-liner. Suppose que votre fichier de démarque est appelé
FILE.md
.la source
Je viens de coder une extension pour
python-markdown
, qui utilise son analyseur pour récupérer les en-têtes, et génère une table des matières sous forme de liste non ordonnée au format Markdown avec des liens locaux. Le fichier estmd_toc.py)... et il doit être placé dans le
markdown/extensions/
répertoire de l'installation de démarquage. Ensuite, tout ce que vous avez à faire est de taper des<a>
balises d' ancrage avec unid="..."
attribut comme référence - donc pour un texte d'entrée comme celui-ci:... l'extension peut être appelée comme ceci:
... et vous pouvez ensuite coller ce toc dans votre document de démarque (ou avoir un raccourci dans votre éditeur de texte, qui appelle le script sur le document actuellement ouvert, puis insère la table des matières résultante dans le même document).
Notez que les anciennes versions de
python-markdown
n'ont pas de__main__.py
module, et en tant que tel, l'appel de ligne de commande comme ci-dessus ne fonctionnera pas pour ces versions.la source
Comme mentionné dans d'autres réponses, il existe plusieurs façons de générer automatiquement une table des matières. La plupart sont des logiciels open source et peuvent être adaptés à vos besoins.
Ce qui me manquait, cependant, était un formatage visuellement attrayant pour une table des matières, en utilisant les options limitées fournies par Markdown. Nous avons trouvé ce qui suit:
Code
Dans votre document, vous placeriez les marqueurs de sous-partie cible comme ceci:
Selon l'endroit et la façon dont vous utilisez Markdown, les éléments suivants devraient également fonctionner et fournir un code Markdown plus joli:
Exemple de rendu
Les avantages
Vous pouvez ajouter autant de niveaux de chapitres et sous-chapitres que vous le souhaitez. Dans la table des matières, celles-ci apparaissent sous forme de listes imbriquées non ordonnées à des niveaux plus profonds.
Pas d'utilisation de listes ordonnées. Celles-ci créeraient une indentation, ne lieraient pas le nombre et ne peuvent pas être utilisées pour créer une numérotation de classification décimale comme "1.1".
Pas d'utilisation de listes pour le premier niveau. Ici, l'utilisation d'une liste non ordonnée est possible, mais pas nécessaire: l'indentation et la puce ajoutent simplement un encombrement visuel et aucune fonction ici, nous n'utilisons donc pas du tout de liste pour le premier niveau de ToC.
Accent visuel sur les sections de premier niveau de la table des matières en caractères gras.
Marqueurs de sous-
#heading--1-1
parties courts et significatifs qui sont "beaux" dans la barre d'URL du navigateur, tels que des marqueurs contenant des morceaux transformés de l'en-tête réel.Le code utilise rubriques H2 (
## …
) pour les sections, rubriques H3 (### …
) pour les sous-rubriques , etc .. Cela rend plus facile à lire le code source , car## …
fournit un indice plus fort visuel lors du défilement par rapport au cas où les sections commenceraient par rubriques H1 (# …
). Il est toujours cohérent sur le plan logique car vous utilisez l'en-tête H1 pour le titre du document lui-même.Enfin, nous ajoutons une belle règle horizontale pour séparer la table des matières du contenu réel.
Pour en savoir plus sur cette technique et comment nous l'utilisons dans le logiciel de forum Discourse , voir ici .
la source
J'ai écrit un script python qui analyse un fichier de démarque et génère une table des matières sous forme de liste de démarque: md-to-toc
Contrairement aux autres scripts que j'ai trouvés, md-to-toc prend correctement en charge les titres en double. Il ne nécessite pas non plus de connexion Internet, il fonctionne donc sur n'importe quel fichier md, pas seulement sur ceux disponibles dans un dépôt public.
la source
Dans Visual Studio Code (VSCode), vous pouvez utiliser l'extension Markdown All in One .
Une fois installé, suivez les étapes ci-dessous:
la source
Je viens de commencer à faire la même chose (prendre des notes dans Markdown). J'utilise Sublime Text 2 avec le plugin MarkdownPreview . L'analyseur de Markdown intégré prend en charge
[TOC]
.la source
Typora génère une table des matières en l'ajoutant
[TOC]
à votre document.la source
Sur Gitlab, markdown prend en charge ceci:
[[_TOC_]]
la source
Utilisez simplement votre éditeur de texte avec un plugin.
Votre éditeur a très probablement un package / plugin pour gérer cela pour vous. Par exemple, dans Emacs , vous pouvez installer un générateur de table des matières markdown-toc . Ensuite, lorsque vous modifiez, appelez simplement à plusieurs reprises
M-x markdown-toc-generate-or-refresh-toc
. Cela vaut une liaison clé si vous voulez le faire souvent. Il est bon de générer une table des matières simple sans polluer votre document avec des ancres HTML.D'autres éditeurs ont des plugins similaires, donc la liste populaire est quelque chose comme:
la source
Basé sur la réponse albertodebortoli a créé la fonction avec des contrôles supplémentaires et la substitution des signes de ponctuation.
la source
MultiMarkdown 4.7 possède une macro {{TOC}} qui insère une table des matières.
la source
Pour moi, la solution proposée par @Tum fonctionne comme un charme pour une table des matières à 2 niveaux. Cependant, pour le 3e niveau, cela n'a pas fonctionné. Il n'a pas affiché le lien comme pour les 2 premiers niveaux, il affiche le texte brut à la
3.5.1. [bla bla bla](#blablabla) <br>
place.Ma solution est un ajout à la solution de @Tum (qui est très simple) pour les personnes qui ont besoin d'une table des matières à 3 niveaux ou plus.
Au deuxième niveau, un simple onglet fera correctement le retrait pour vous. Mais il ne prend pas en charge 2 onglets. Au lieu de cela, vous devez utiliser un onglet et en ajouter
vous-même autant que nécessaire afin d'aligner correctement le 3ème niveau.Voici un exemple utilisant 4 niveaux (les niveaux plus élevés, ça devient horrible):
Cela donne le résultat suivant où chaque élément de la table des matières est un lien vers sa section correspondante. Notez également le
<br>
afin d'ajouter une nouvelle ligne au lieu d'être sur la même ligne.Table des matières
1.1. Sous-titre
1.1.1. Sous-sous-titre
1.1.1.1. Sous-sous-sous-sous-titre
Titre
Rubrique 1
Sous-titre
Rubrique 2
Sous-sous-titre
Rubrique 3
Sous-sous-sous-sous-titreRubrique 4
la source
En fonction de votre flux de travail, vous voudrez peut-être regarder le strapdown
C'est une fourchette de l'original ( http://strapdownjs.com ) qui ajoute la génération de la table des matières.
Il y a un fichier de configuration apache sur le dépôt (peut-être pas encore correctement mis à jour) pour envelopper le démarquage à la volée, si vous préférez ne pas écrire dans des fichiers html.
la source
Je ne suis pas sûr, quelle est la documentation officielle pour le démarque. La référence croisée peut être écrite uniquement entre crochets
[Heading]
ou avec des crochets vides[Heading][]
.Les deux fonctionnent en utilisant pandoc . J'ai donc créé un script bash rapide, qui remplacera $ TOC dans le fichier md par son TOC. (Vous aurez besoin d'envsubst, qui pourrait ne pas faire partie de votre distribution)
la source
Si vous utilisez Eclipse, vous pouvez utiliser le raccourci Ctrl+ O(contour), cela affichera l'équivalent de la table des matières et permettra de rechercher dans les titres de section (saisie semi-automatique).
Vous pouvez également ouvrir la vue Structure (Fenêtre -> Afficher la vue -> Structure) mais elle n'a pas de recherche de saisie semi-automatique.
la source
Utilisez toc.py qui est un petit script python qui génère une table des matières pour votre démarque.
Usage:
<toc>
emplacement où vous souhaitez placer la table des matières.$python toc.py README.md
(Utilisez votre nom de fichier de démarque au lieu de README.md )À votre santé!
la source
J'ai utilisé https://github.com/ekalinin/github-markdown-toc qui fournit un utilitaire de ligne de commande qui génère automatiquement la table des matières à partir d'un document de démarque.
Pas de plugins, ni de macros ou autres dépendances. Après avoir installé l'utilitaire, collez simplement la sortie de l'utilitaire à l'emplacement du document où vous souhaitez votre table des matières. Très simple à utiliser.
la source
Si votre fichier Markdown doit être affiché dans un référentiel sur bitbucket.org, vous devez ajouter
[TOC]
à l'emplacement où vous souhaitez votre table des matières. Il sera ensuite généré automatiquement. Plus d'infos ici:https://confluence.atlassian.com/bitbucket/add-a-table-of-contents-to-a-wiki-221451163.html
la source
Il existe un script Ruby appelé mdtoc.rb qui peut générer automatiquement une table des matières GFM Markdown, et il est similaire mais légèrement différent de certains autres scripts publiés ici.
Étant donné un fichier Markdown d'entrée comme:
Il génère cette table des matières:
Voir aussi mon blog post sur ce sujet.
la source