it-swarm-pt.tech

Como posso fazer um índice para um documento de markdown com Python / AWK / SED?

Tenho o seguinte documento de marcação:

Heading-a
==========

---text---

Heading-b
------------

--- text ---

Heading-c
----------

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Gostaria de fazer um índice clicável a partir dele, semelhante à maneira como LaTex faz, mas não consigo encontrar uma ferramenta que faça isso, o que me sugere que devemos construir um.

A ferramenta deve coletar cabeçalhos 'H1' e cabeçalhos 'H2' de forma que atribua o número 1 a Heading-a e o número 1.1. para Heading-b, 1.2. para Heading-c, 2. a Heading-d, 2.1. para Heading-e e assim por diante, de modo que devemos obter o seguinte índice:

  1. Heading-a
  1.1. Heading-b
  1.2. Heading-c
  2. Heading-d
  2.1. Heading-e

Como posso fazer isso com Python/AWK/SED?

15
Léo Léopold Hertz 준영

A implementação Markdown em Python tem suporte para extensões, uma das quais inclui a geração de índice. Além disso Pandoc (que é uma marcação Haskell-> PDF tem suporte para marcação (além de um monte de outros formatos) e pode produzir HTML, LaTeX, PDFs, etc.

9
Tyler

Se você já tem títulos, pode tentar github-markdown-toc é capaz de processar arquivos stdin, locais e remotos, por exemplo:

cat ~/projects/Dockerfile.vim/README.md | ./gh-md-toc -

ou criando um local README.md:

./gh-md-toc ~/projects/Dockerfile.vim/README.md
1
resultsway

Consulte este artigo para uma comparação de linguagens de marcação leves com algumas informações sobre índices que podem levar você na direção de uma solução.

0