Bagaimana saya bisa membuat daftar isi untuk dokumen penurunan harga dengan Python / AWK / SED?

15

Saya memiliki dokumen penurunan harga berikut:

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

---text---

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

--- text ---

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

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Saya ingin membuat daftar isi yang dapat diklik darinya, mirip dengan cara LaTex , tetapi tidak dapat menemukan alat yang melakukan ini, yang menunjukkan kepada saya bahwa kita harus membangunnya.

Alat harus mengumpulkan pos 'H1' dan pos 'H2' sedemikian rupa sehingga menetapkan angka 1 ke Heading-adan angka 1.1. ke Heading-b, 1.2. ke Heading-c, 2. hingga Heading-d, 2.1. ke Heading-edan seterusnya, sehingga kita harus mendapatkan Daftar Isi berikut:

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

Bagaimana saya bisa melakukan ini dengan Python / AWK / SED?

Léo Léopold Hertz 준영
sumber
Mengapa Anda tidak menggunakan LaTeX saja?
jtbandes
4
@jtbandes: Sintaks Markdown lebih mudah dibaca, lebih cepat untuk mengetik dan lebih mudah dikompilasi daripada LaTex.
Léo Léopold Hertz 준영

Jawaban:

9

The penurunan harga di Python implementasi memiliki dukungan untuk ekstensi salah satu yang termasuk Daftar Isi generasi. Selain itu Pandoc (yang merupakan markup Haskell-> PDF memiliki dukungan untuk penurunan harga (selain banyak format lainnya) dan dapat menampilkan cukup HTML, LaTeX, PDF, dll.

Tyler
sumber
Jawaban Anda menimbulkan masalah lain dalam memasang ekstensi di thread superuser.com/questions/13075/...
Léo Léopold Hertz
1

Jika Anda sudah memiliki heading, Anda dapat mencoba github-markdown-toc yang dapat memproses file stdin, lokal dan jarak jauh, misalnya:

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

atau membuat lokal README.md:

./gh-md-toc ~/projects/Dockerfile.vim/README.md
akibatnya
sumber
0

Lihat artikel ini untuk perbandingan bahasa markup ringan dengan beberapa informasi tentang daftar isi yang mungkin mengarahkan Anda ke arah solusi.

Dijeda sampai pemberitahuan lebih lanjut.
sumber
Tautan tidak berfungsi.
Léo Léopold Hertz 준영
1
Tautan ini berfungsi untuk saya.
Dijeda sampai pemberitahuan lebih lanjut.
Sepertinya penulis asli baru saja menghapus posting blog sehingga Anda memiliki artikel di cache.
Léo Léopold Hertz 준영
1
Artikel tersebut dapat ditemukan di cache Google: situs: alexandrenotebook.blogspot.com/2008/01/…
Léo Léopold Hertz 준영