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?


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:



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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.