Ze względu na to, że github ma swój własny sposób generowania atrybutów id = ".." w nagłówkach h1, h2, h3, itd ... w wersji html po przetworzeniu Markdown (na przykład Bitbucket używa trochę innego schematu spowalniania nagłówków tytułów do id = "slug") jest wygodne, aby nie wymyślać na nowo koła i nie używać biblioteki, która dokonała inżynierii wstecznej tego procesu.
Znalazłem jedną całkiem dobrą bibliotekę do tego zadania o nazwie markdown-toc .
Wydaje mi się, że jest to najlepsze rozwiązanie, ponieważ zawsze instalowałem node'a na moim komputerze.
Wystarczy wykonać NPX Przecena-toc -i file.md .
I wygląda na to, że jest to jedno z bardziej popularnych narzędzi do tego zadania - przynajmniej w ekosystemie 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
wynik: