Як я можу скласти зміст для документа розмітки за допомогою Python / AWK / SED?


15

У мене є такий розмітний документ:

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

---text---

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

--- text ---

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

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Я хотів би зробити з нього змістовний вміст, подібний до того, як робить LaTex , але не можу знайти інструмент, який це робить, який пропонує мені створити його.

Інструмент повинен збирати заголовки 'H1' та заголовки 'H2' таким чином, щоб він призначав числа 1 до Heading-a1.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?


Чому ви просто не використовуєте LaTeX?
jtbandes

4
@jtbandes: Синтаксис Markdown легше читати, швидше набирати та легше компілювати, ніж у LaTex.
Лео Леопольд Герц

Відповіді:


9

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


Ваша відповідь поставила ще одну проблему встановлення розширень на потоці superuser.com/questions/13075/…
Лео Леопольд Герц 준영

1

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

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

або створення локального README.md:

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

0

Дивіться цю статтю для порівняння легких мов розмітки з деякою інформацією про змістовні таблиці, яка може привести вас у напрямку рішення.


Посилання не працює.
Лео Леопольд Герц 준영

2
Посилання працює для мене.
Призупинено до подальшого повідомлення.

Мабуть, випадок, коли оригінальний автор щойно видалив публікацію в блозі, так що у вас є стаття в кеш-пам'яті.
Лео Леопольд Герц 준영

1
Статтю можна знайти в кеші Google: site: alexandrenotebook.blogspot.com/2008/01/…
Лео Леопольд Герц 준영
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.