web-dev-qa-db-ja.com

Python / AWK / SEDを使用してマークダウンドキュメントの目次を作成するにはどうすればよいですか?

次のマークダウンドキュメントがあります。

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

---text---

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

--- text ---

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

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

LaTex と同じように、クリック可能な目次を作成したいのですが、これを実行するツールが見つからないため、作成する必要があることを示唆しています。

ツールは、「H1」見出しと「H2」見出しを収集して、番号1をHeading-aに割り当て、番号1.1を割り当てる必要があります。 Heading-bへ、1.2。からHeading-c、2。からHeading-d、2.1。 Heading-eなどに、次の目次が表示されるようにします。

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

Python/AWK/SEDでこれを行うにはどうすればよいですか?

PythonのMarkdown 実装は、拡張機能をサポートしており、そのうちの1つに目次の生成が含まれています。さらに Pandoc (Haskellマークアップです-> PDFは(他の多くのフォーマットに加えて)マークダウンをサポートしており、きれいなHTML、LaTeX、PDFなどを出力できます。

9
Tyler

すでに見出しがある場合は、試してみることができます github-markdown-toc stdin、ローカル、およびリモートファイルを処理できます。次に例を示します。

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

またはローカルを作成するREADME.md

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

軽量のマークアップ言語と、解決策を導くために役立つ目次に関する情報との比較については、 この記事 を参照してください。