Como criar um índice para um documento de remarcação com Python / AWK / SED?

15

Eu tenho o seguinte documento de remarcação:

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

---text---

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

--- text ---

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

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Eu gostaria de criar um índice clicável, semelhante ao LaTex , mas não consigo encontrar uma ferramenta que faça isso, o que me sugere que devemos criar um.

A ferramenta deve coletar os títulos 'H1' e 'H2', de forma que atribua o número 1 Heading-ae o número 1.1. para Heading-b1.2. para Heading-c, 2. para Heading-d, 2.1. para Heading-ee assim por diante, para que possamos obter o seguinte Sumário:

  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?

Léo Léopold Hertz 준영
fonte
Por que você não usa apenas o LaTeX?
jtbandes
4
@ jtbandes: A sintaxe do Markdown é mais fácil de ler, mais rápida de digitar e mais fácil de compilar do que a do LaTex.
Léo Léopold Hertz

Respostas:

9

A implementação Markdown no Python oferece suporte a extensões, uma das quais inclui a geração de Sumário. Além disso, o Pandoc (que é uma marcação Haskell-> PDF tem suporte para descontos (além de vários outros formatos) e pode gerar bastante HTML, LaTeX, PDFs etc.

Tyler
fonte
Sua resposta levantou outro problema ao instalar as extensões no segmento superuser.com/questions/13075/…
Léo Léopold Hertz
1

Se você já possui títulos, tente o 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
resultados
fonte
0

Consulte este artigo para obter uma comparação das linguagens de marcação leves com algumas informações nos índices que podem levá-lo na direção de uma solução.

Pausado até novo aviso.
fonte
O link não está funcionando.
Léo Léopold Hertz
1
O link funciona para mim.
Pausado até novo aviso.
Parece que o autor original acabou de remover a postagem do blog para que você tenha o artigo em seu cache.
Léo Léopold Hertz
1
O artigo pode ser encontrado no cache do Google: site: alexandrenotebook.blogspot.com/2008/01/…
Léo Léopold Hertz