14

У меня есть следующий документ по уценке:

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?

3 ответа3

9

Реализация Markdown в Python поддерживает расширения, одно из которых включает создание оглавления. Кроме того, Pandoc (который является разметкой на Haskell-> PDF, поддерживает разметку (в дополнение к множеству других форматов) и может выводить красивые HTML, LaTeX, PDF-файлы и т.д.

2

Если у вас уже есть заголовки, вы можете попробовать github-markdown-toc в состоянии обрабатывать стандартные, локальные и удаленные файлы, например:

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

или создать локальный README.md:

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

В этой статье приведено сравнение облегченных языков разметки с некоторой информацией о содержании, которая может привести вас к решению.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .