244 votes

COT automatique dans une marque de github aromatisée

Est-il possible de générer une table des matières automatique en utilisant Github Flavored Markdown ?

158voto

Thorsten Lorenz Points 4419

J'ai créé deux options pour générer une table des matières pour github-saveur-markdown:

DocToc Outil de Ligne de Commande (source) exige node.js

Installation:

npm install -g doctoc

Utilisation:

doctoc . pour ajouter une table des matières pour tous les fichiers markdown dans le courant et tous les sous répertoires.

DocToc WebApp

Si vous voulez l'essayer en ligne tout d'abord, aller à la doctocsite, collez le lien de la minoration de la page et il va générer un tableau de le contenu que vous pouvez insérer dans le haut de votre fichier markdown.

Github Wikis et les Ancrages

Comme Matthieu Flaschen souligné dans les commentaires ci-dessous, pour ses pages wiki GitHub précédemment n'ont pas généré les ancres doctoc dépend.

Mise à JOUR: Cependant, ils ont résolu ce problème.

28voto

Ben Scott Points 1281

GitHub Pages par défaut utilise Maruku qui a un support pour un table des matières générée automatiquement via untoc d'attribut:

* auto-gen TOC:
{:toc}

La première ligne commence juste une liste non ordonnée et est fait jeté.

Il en résulte un ensemble imbriqué de listes non ordonnées, en utilisant les en-têtes dans le document.

Remarque: cela devrait fonctionner pour GitHub Pages, pas GitHub Aromatisé Markdown (GFM) dans des commentaires ou des pages wiki. Autant que je sache, une solution n'existe pas.

10voto

Mikaël Mayer Points 2408

Ce n'est pas automatique, mais il utilise Notepad++ expressions régulières:

Remplacer tout premier par le second (supprime toutes les lignes n'ayant pas les en-têtes)

^##(#?)(#?)(.*?)$(.|\r|\n)*?(?=^##|\z)
-\1\2 [\3](#\3)\n

Ensuite (convertit les en-têtes III pour les espaces)

-##
        -

Ensuite (convertit les en-têtes de II pour les espaces)

-#
    -

Ensuite (supprimer les caractères au début et à la fin du titre du lien)

\[ *((?:(?![ .:#!\?;]*\])[^#])*)[ #:!\?;]*\]
[\1]

Ensuite (convertir derniers jetons en minuscules et le tableau de bord à la place des espaces)

\]([^ \r\n]*) ([^\r\n ]*)
]\L\1-\2

Supprimer les finales de livres et les premiers tirets:

(?:()[-:;!\?#]+$|(\]#)-)
\1\2

Supprimer les caractères inutiles dans les liens:

(\].*?)(?:\(|\))
\1

Et pour finir, ajouter des parenthèses autour de finale de liens:

\](?!\()(.*?)$
\]\(\1\)

Et voilà!! Vous pouvez même mettre cela dans une macro global si vous le répète assez de temps.

8voto

Kevin Suttle Points 858

Github Aromatisé Markdown RedCarpet que leur Démarque moteur. Depuis le RedCarpet repo:

:with_toc_data - ajouter des ancres HTML de chaque en-tête dans la sortie HTML, pour permettre la liaison de chaque section.

Il semble que vous auriez besoin d'obtenir le convertisseur de niveau pour définir cet indicateur, qui n'est pas possible sur Github évidemment. Cependant, la dernière mise à jour de Github Pages, il semble que le système d'ancrage est activée pour les en-têtes, de la création de réticulable en-têtes. Pas exactement ce que vous voulez, mais il peut vous aider à créer une table des matières pour votre doc un peu plus facile (même manuellement).

5voto

Logan Points 2012

Grunt Readme Générateur

Je viens d'écrire un outil pour cela. Principalement pour mon github projets. C'est un Grognement plugin pour générer un fichier readme à partir de plusieurs petites sections de fichiers markdown, avec table des matières. Possède de nombreuses fonctionnalités et de personnalisation.

Cité de de son readme:

...

Disons que vous avez un fichier readme de la structure tels que:

- Installation
- Usage
    -- Example
    -- Example Output
- Documentation
    -- Options
        --- option1
        --- option2
    -- API
- License
- Contributing
  • Vous pouvez écrire une tâche de générer Options.md de option1.md et option2.md
  • Ensuite, une tâche pour générer Documentation.md de Options.md et API.md
  • Une autre tâche pour générer Usage.md de Example.md et Example Output.md fichiers
  • Et rangez le tout par la création de l' Readme.md de Installation.md, Usage.md, Documentation.md, License.md et Contributing.md
  • voilà !

Faits saillants

  • Table des matières automatique de génération de
  • Automatique Back To Top de la génération de liens
  • Hautement personnalisable pour beaucoup de nombreuses parties de l'image plus grande
  • Automatique le Titre et la Description de la génération sur le dessus
  • Option pour générer travis construire statut de l'image sur le dessus pour la branche désirée
  • Spécialement conçu pour GitHub projets et GFM
  • En option bannières sur le dessus pour mettre un logo ou ascii art!

Ce plugin nécessite Grunt ~0.4.1

....

J'espère que cette aide. La mise en pension est situé à GitHub. Vous pouvez trouver plus d'informations sur comment installer et la liste complète des options avec des exemples.

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