Через те, що github має власний спосіб генерування атрибутів id = ".." у заголовках h1, h2, h3 та ін ... у версії html після обробки Markdown (наприклад, Bitbucket використовує трохи інший зразок слабких заголовків заголовків до id = "slug") зручно не винаходити колесо та використовувати бібліотеку, яка здійснила реконструкцію цього процесу.
Я знайшов одну непогану бібліотеку для цього завдання, яка називається markdown-toc .
Для мене це здається найкращим рішенням, оскільки я завжди встановлював вузол на своїй машині.
Просто запустіть NPX уцінки-TOC -i file.md .
І схоже, це один з найпопулярніших інструментів для цього завдання - принаймні в екосистемі node.js.
ls
cat <<EOF >> test.md | tee
## Table of Contents
<!-- toc -->
- old toc 1
- old toc 2
- old toc 3
<!-- tocstop -->
## abc
This is a b c.
## xyz
This is x y z.
EOF
ls
cat test.md
npx markdown-toc -i test.md
cat test.md
вихід: