Como posso criar um sumário para um documento markdown com Python / AWK / SED?

14

Eu tenho o seguinte documento de desconto:

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

---text---

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

--- text ---

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

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Eu gostaria de fazer um sumário clicável, semelhante à forma como o LaTex faz, mas pode ' t encontrar uma ferramenta que faz isso, o que sugere para mim que devemos construir um.

A ferramenta deve coletar cabeçalhos 'H1' e 'H2' de tal forma que ele atribua o número 1 a Heading-a e o número 1.1. para Heading-b , 1.2. para Heading-c , 2. para Heading-d , 2.1. para Heading-e e assim por diante, de tal forma 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 o Python / AWK / SED?

    
por Léo Léopold Hertz 준영 25.07.2009 / 22:58

3 respostas

9

A implementação de Markdown em Python tem suporte para extensões, uma das quais inclui a geração do Índice. Além disso, o Pandoc (que é uma marcação do Haskell- > o PDF tem suporte para redução de marcação (além de vários outros formatos) e pode gerar saída HTML bonito, LaTeX, PDFs, etc.

    
por 26.07.2009 / 00:25
2

Se você já tem títulos, você pode tentar github-markdown-toc é capaz de processar stdin , arquivos 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
    
por 23.10.2015 / 03:00
0

Veja este artigo para uma comparação de marcações leves idiomas com algumas informações sobre índices que podem levá-lo na direção de uma solução.

    
por 26.07.2009 / 00:03