tutorial examples coloring code github markdown

github - examples - markdown underline



TOC automático en github-flavored-markdown (14)

Actualmente no es posible usar la sintaxis de reducción (consulte la proposed curso proposed ), sin embargo, puede usar algunas herramientas externas como:

Como alternativa, utilice AsciiDoc en AsciiDoc lugar (por ejemplo, README.adoc ), por ejemplo

:toc: macro :toc-title: :toclevels: 99 # Title ## A ### A2 ## B ### B2

como se sugiere en este comment . Consulta la demo here .

¿Es posible generar una tabla de contenido automática utilizando Github Flavored Markdown ?


Creé dos opciones para generar un toc para github-flavored-markdown:

La herramienta de línea de comandos DocToc ( source ) requiere node.js

Instalación:

npm install -g doctoc

Uso:

doctoc . para agregar una tabla de contenido a todos los archivos de rebajas en los directorios actuales y todos los subdirectorios.

DocToc WebApp

Si quiere probarlo en línea primero, vaya al sitio doctoc , pegue el enlace de la página de reducción y generará una tabla de contenido que puede insertar en la parte superior de su archivo de reducción.

Github Wikis y Anclas

Como señaló Matthew Flaschen en los comentarios a continuación, para sus páginas wiki, GitHub anteriormente no generaba los anclajes de los que depende doctoc .

ACTUALIZACIÓN: Sin embargo, arreglaron este problema .


Es posible generar una página web automáticamente con http://documentup.com/ desde el archivo README.md . No está creando un TOC, pero para muchos podría resolver la razón por la que desea crear un TOC.

Otra alternativa a Documentup es Flatdoc: http://ricostacruz.com/flatdoc/


Esta no es una respuesta directa a esta pregunta, ya que muchas personas han proporcionado soluciones. No creo que la generación de un TOC haya sido oficialmente soportada por Github hasta la fecha. Si desea que GitHub muestre automáticamente una Tabla de contenido en sus páginas de vista previa de GFM, participe en la discusión sobre el problema de la solicitud de características oficial.


GitHub Pages (que es básicamente un envoltorio para Jekyll) parece usar kramdown , que implementa todo Maruku , y por lo tanto tiene soporte para una tabla de contenido generada automáticamente a través de un atributo toc :

* auto-gen TOC: {:toc}

La primera línea simplemente comienza una lista desordenada y en realidad se tira.

Esto resulta en un conjunto anidado de listas desordenadas, usando los encabezados en el documento.

Nota: esto debería funcionar para GitHub Pages, no GitHub Flavored Markdown (GFM) como se usa en comentarios o páginas wiki. AFAIK no existe una solución para eso.


Github Flavored Markdown usa RedCarpet como su motor Markdown. Desde el repositorio de RedCarpet :

: with_toc_data: agregue anclajes HTML a cada encabezado en el HTML de salida, para permitir el enlace a cada sección.

Parece que necesitarías llegar al nivel del renderizador para establecer esta bandera, lo que obviamente no es posible en Github. Sin embargo, la última actualización de Github Pages, parece que el anclaje automático está activado para los encabezados, creando encabezados vinculables. No es exactamente lo que desea, pero puede ayudarlo a crear un índice de contenido (TOC) para su documento un poco más fácil (aunque de forma manual).


Mi colega @schmiedc y yo creamos un script GreaseMonkey que instala un nuevo botón de TDC a la izquierda del botón h1 que utiliza la excelente biblioteca markdown-js para agregar / actualizar una tabla de contenido.

La ventaja sobre soluciones como doctoc es que se integra en el editor wiki de GitHub y no necesita que los usuarios trabajen en su línea de comandos (y requieren que los usuarios instalen herramientas como node.js ). En Chrome, funciona al arrastrar y soltar en la página de Extensiones, en Firefox necesitarás instalar la extensión GreaseMonkey.

Funcionará con una rebaja simple (es decir, no maneja los bloques de código correctamente, ya que es una extensión de GitHub para la reducción). Aportaciones bienvenidas.


No es automático, pero usa expresiones regulares Notepad ++:

Reemplazar todo primero por segundo (elimina todas las líneas que no tienen encabezados)

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

Luego (convierte los encabezados III a espacios)

-## -

Luego (convierte los encabezados II a espacios)

-# -

Luego (elimine los caracteres no utilizados al principio y al final del título del enlace)

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

Luego (convierte los últimos tokens en minúsculas y guiones en lugar de espacios)

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

Quite las libras finales no utilizadas y los guiones iniciales:

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

Eliminar caracteres inútiles en los enlaces:

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

Y finalmente añadir paréntesis alrededor de los enlaces finales:

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

¡Y voilá! Incluso puedes poner esto en una macro global si lo repites lo suficiente.


No es posible, a excepción de las soluciones propuestas.

Propuse la extensión Kramdown TOC y otras posibilidades para [email protected] y Steven! Ragnarök respondió con el habitual:

Gracias por la sugerencia y enlaces. Lo agregaré a nuestra lista interna de solicitud de características para que el equipo la vea.

Vamos a votar esta pregunta hasta que suceda.

Otra solución (generalmente inaceptable) es usar asciidoc en lugar de Markdown, que hace que los TOC .


Para Texteditor Atom Github, echa un vistazo a este impresionante complemento (o "paquete" en Atom-lingo), que genera "TOC (tabla de contenido) de los títulos de los archivos de marcas analizadas analizadas" :

markdown-toc

Una vez instalado como paquete Atom, puede usar el acceso directo ctrl-alt-c para insertar un TOC basado en su estructura de reducción de documentos en la posición actual del cursor ...

Capturas de pantalla:

Atom Keybindings

markdown-toc le ofrece los siguientes enlaces de teclas predeterminados para controlar el complemento en Atom:

  • ctrl-alt-c => crear TOC en la posición del cursor
  • ctrl-alt-u => actualizar TOC
  • ctrl-alt-r => eliminar TOC

Características del plugin (desde el README del proyecto)

  • Enlace automático a través de etiquetas de anclaje, por ejemplo, # A 1#a-1
  • Control de profundidad [1-6] con depthFrom:1 y depthTo:6
  • Habilitar o deshabilitar enlaces con withLinks:1
  • Actualizar lista en guardar con updateOnSave:1
  • Use la lista ordenada (1. ..., 2. ...) con orderedList:0

Si edita archivos Markdown con Vim, puede probar este complemento vim-markdown-toc .

El uso es simple, simplemente mueva el cursor al lugar donde desea agregar la Tabla de contenido y ejecute :GenTocGFM , listo!

Capturas de pantalla:

caracteristicas:

  1. Generar toc para archivos Markdown. (Soporte GitHub con sabor Markdown y Redcarpet)

  2. Actualice el toc existente.

  3. Actualización automática de to en guardar.


Una forma muy conveniente de lograr una tabla de contenido para un archivo de mardown cuando se trabaja con Visual Studio Code es la extensión Markdown-TOC .

Puede agregar un toc a los archivos de rebajas existentes e incluso mantenerlo actualizado al guardar.


Use coryfklein/doctoc , una bifurcación de source que no agrega " generado con doctoc " a cada tabla de contenido.

npm install -g coryfklein/doctoc


Gitdown es un preprocesador de rebajas para Github.

Usando Gitdown puedes:

  • Generar tabla de contenidos
  • Encuentra URLs muertas e identificadores de fragmentos
  • Incluir variables
  • Incluir archivos
  • Obtener el tamaño del archivo
  • Generar insignias
  • Fecha de impresion
  • Imprimir información sobre el propio repositorio.

Gitdown agiliza las tareas comunes asociadas con el mantenimiento de una página de documentación para un repositorio de GitHub.

Su uso es sencillo:

var Gitdown = require(''gitdown''); Gitdown // Gitdown flavored markdown. .read(''.gitdown/README.md'') // GitHub compatible markdown. .write(''README.md'');

Puede tenerlo como un script separado o como parte de la rutina del script de compilación (como Gulp ).