Si miras aquí: http://en.wikipedia.org/wiki/Stack_Overflow
Notarás que hay una pequeña sección de "Contenido", si haces clic en uno de los enlaces, te enviará a una sección específica de la página.
¿Cómo hago esto en la wiki de GitHub? ¿Con Markdown o lo que sea que usen?
Respuestas:
Está bien demostrado en la tabla de contenido de la hoja de referencia de Markdown .
Si pasa el cursor sobre un encabezado en un archivo de GitHub Markdown, verá un pequeño enlace simple a la izquierda, también puede usar ese enlace. El formato de ese enlace es
<project URL#<header name>
. El<header name>
debe ser todo en minúsculas.fuente
__TOC__
directamente. Claramente, la lógica de autogeneración subyacente está ahí. Pero la funcionalidad no parece estar expuesta en su estilo de edición Markdown. Muy desafortunado. Comencemos todos a enviar solicitudes de funciones y tal vez lo activen.#Headers
lugar de#headers
. Pensé que era un error tipográfico en tu respuesta. Quizás pueda agregar a su respuesta esta información.Una posible solución (semiautomatizada) es la de Eugene Kalinin
github-markdown-toc
. Básicamente, esta herramientaREADME.md
analiza su archivo y extrae#
los encabezados para crear un TOC.Alimenta tu
README.md
guión (como se indica en el de EugeneREADME.md
)cat README.md | bash github-markdown-toc
Corta y pega el TOC generado y colócalo en la parte superior de tu
README.md
archivoTenga en cuenta que esta
bash
implementación solo funciona en Linux (por lo que puedo decir).Como nota al margen, hay una implementación de golang y probablemente sea más complicado ponerse a trabajar.
fuente
Dado que github no se puede usar
TOC
directamente, tenemos otras alternativas.Puede generar TOC automáticamente a través de la herramienta en línea:
Generar tabla de contenido TOC desde GitHub Markdown o Wiki Online
oa través de la herramienta local:
github-markdown-toc
fuente
https://github.com/jonschlinkert/markdown-toc
git clone your-repo.wiki.git
(agregue el.wiki
derecho antes.git
para clonar el wikinpm i -g markdown-toc
<!-- toc -->
( distingue entre mayúsculas y minúsculas) en la rebaja de su wikimarkdown-toc -i my-wiki-markdown.md
(-i
lo editará en su lugar)Actualización: creo que quizás https://github.com/thlorenz/doctoc sea más popular ahora.
fuente
Actualmente no es posible hacer eso usando la sintaxis de rebajas (
.md
). Existe una discusión no oficial en curso sobre la generación automática de tabla de contenido TOC en archivos de rebajas renderizados como elREADME.md
que enumera algunas de las ideas.Sin embargo, existen otras soluciones como:
Úselo en su
AsciiDoc
lugar según la sugerencia de este comentario . Por ejemplo:Consulte el ejemplo en
littlebits/react-popover
(README.adoc
) .Línea Tabla de contenido Generador ( raychenon / play-tabla-de-contenido )
fuente
Si no está en condiciones de seguir con Markdown , puede hacer lo siguiente:
Sin embargo, al usar archivos Markdown en GitHub / repo , puede obtenerlo en las páginas de GitHub como en Wikipedia
fuente
Código de Visual Studio
Si usa Visual Studio Code , existe una extensión fácil de usar llamada Markdown All in One que puede hacer el TOC para cualquier archivo .md en un instante.
Simplemente abra Command Palette (
Ctrl-Shift-P
) ->Markdown: Create Table of Contents
¿La actualización automática estropea su TOC editado?
Como consejo adicional, es posible que desee desactivar las "actualizaciones automáticas de la tabla de contenido al guardar" utilizando
en la configuración de Visual Studio (Command Palette -> Preferences: Open Settings (JSON)).
fuente
Puede elegir el modo de edición "MediaWiki" que generará un toc para los encabezados, por ejemplo
fuente
Debido al hecho de que github tiene su propia forma de generar atributos id = ".." en h1, h2, h3, etc ... encabezados en la versión html después de procesar Markdown (por ejemplo, Bitbucket usa un patrón poco diferente de títulos de encabezados lentos para id = "slug") es útil no reinventar la rueda y usar la biblioteca que realizó ingeniería inversa en este proceso.
Encontré una biblioteca bastante buena para esta tarea llamada markdown-toc .
Para mí parece la mejor solución porque siempre he instalado el nodo en mi máquina.
Sólo hay que ejecutar npx rebaja -i-toc file.md .
Y parece que es una de las herramientas más populares para esta tarea, al menos en el ecosistema node.js.
salida:
fuente