]> git.plutz.net Git - shellwiki/blob - macros/toc
Merge commit 'a5df8624a4d04031ed1497b959b576c989af438f'
[shellwiki] / macros / toc
1 #!/bin/sh
2
3 . "$_EXEC/cgilite/cgilite.sh"
4
5 unset MD_MACROS
6
7 if [ "$(which awk)" ]; then
8   md() { awk -f "$_EXEC/cgilite/markdown.awk"; }
9 elif [ "$(which busybox)" ]; then
10   md() { busybox awk -f "$_EXEC/cgilite/markdown.awk"; }
11 else
12   md() { cat; }
13 fi
14
15 md |sed -nE '
16   1i<ul class="macro toc">
17   s;^.*<section class="(h[1-6])( [^"]+)?" id="([^"]*)"><h[1-6]>(([^<]|<[^aA]|<[aA][^ ])+)(<a class="anchor" href="[^>]*"></a>)?</h[1-6]>$;<li class="toc \1"><a href="#\3">\4</a></li>;p
18   $i</ul>
19 '