Tengo el siguiente documento de rebaja:
Heading-a
==========
---text---
Heading-b
------------
--- text ---
Heading-c
----------
--- text---
Heading-d
=======
--- text----
Heading-e
---
...
Me gustaría hacer una tabla de contenido en la que se pueda hacer clic, de forma similar a como lo hace LaTex , pero no puedo encontrar una herramienta que haga esto, lo que me sugiere que deberíamos construir una.
La herramienta debe recopilar encabezados 'H1' y encabezados 'H2' de manera que asigne el número 1 Heading-a
y el número 1.1. a Heading-b
, 1.2. a Heading-c
, 2. a Heading-d
, 2.1. ay Heading-e
así sucesivamente, de modo que deberíamos obtener la siguiente tabla de contenido:
1. Heading-a
1.1. Heading-b
1.2. Heading-c
2. Heading-d
2.1. Heading-e
¿Cómo puedo hacer esto con Python / AWK / SED?
Respuestas:
La implementación de Markdown en Python tiene soporte para extensiones, una de las cuales incluye la generación de tabla de contenido. Además, Pandoc (que es un marcado de Haskell-> PDF tiene soporte para rebajas (además de un montón de otros formatos) y puede generar HTML, LaTeX, PDF, etc.
fuente
Si ya tiene encabezados, puede probar que github-markdown-toc puede procesar archivos stdin, locales y remotos, por ejemplo:
o creando un local
README.md
:fuente
Consulte este artículo para ver una comparación de los lenguajes de marcado ligeros con información sobre tablas de contenido que pueden guiarlo hacia una solución.
fuente