html: Add support for #+TOC keyword

org mode allows rendering the toc anywhere in the html document using the `TOC`
keyword [1]. There's more options but `#+TOC: headlines $n` should be enough
for starters. Note that org mode still requires setting `#+OPTIONS: toc:nil` to
disable the default toc

[1] https://orgmode.org/manual/Table-of-Contents.html
This commit is contained in:
Niklas Fasching 2021-03-28 16:59:36 +02:00
parent bf7f957af2
commit 7c239a7aeb
4 changed files with 63 additions and 6 deletions

View file

@ -1,4 +1,5 @@
#+OPTIONS: toc:nil
* captions, custom attributes and more
#+CAPTION: and _multiple_
#+CAPTION: lines of *captions*!
#+ATTR_HTML: :class a b
@ -23,3 +24,11 @@ named block
# comments must have whitespace after the hashtag
#not a comment because there's no space after the hashtag
* table of contents
A table of contents can be rendered anywhere in the document by using
#+BEGIN_SRC org
,#+TOC: headlines $n
#+END_SRC
Where =$n= is the max headline lvl that will be included. You can use =headlines 0= to include all headlines.
#+TOC: headlines 0