"D. C. Toedt" <d...@toedt.com> writes: Hello, D. C., all!
> # ============= The next line is the desired feature: Generate a TOC list > (with links) of all subheadings in the specified heading > ===================== > #+TOC: headlines 1 local ConfInfoClauses This is totally a partial implementation since I've only bothered to make it work for HTML export, but someone can make it work nicely for everything else. =) I think it will permit the use of lines like: #+TOC: headlines 1 id:ConfInfoClauses diff --git a/lisp/ox-html.el b/lisp/ox-html.el index effd387..3b0e239 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -2651,8 +2651,18 @@ CONTENTS is nil. INFO is a plist holding contextual information." ((string-match "\\<headlines\\>" value) (let ((depth (and (string-match "\\<[0-9]+\\>" value) (string-to-number (match-string 0 value)))) - (localp (org-string-match-p "\\<local\\>" value))) - (org-html-toc depth info (and localp keyword)))) + (localp (org-string-match-p "\\<local\\>" value)) + (local-id (and (string-match "\\<id:\\(.+\\)\\>" value) + (match-string 1 value)))) + (org-html-toc depth info + (or + (and local-id + (car (org-element-map (plist-get info :parse-tree) + 'headline + (lambda (element) + (and (string= (org-element-property :CUSTOM_ID element) local-id) + element))))) + (and localp keyword))))) ((string= "listings" value) (org-html-list-of-listings info)) ((string= "tables" value) (org-html-list-of-tables info)))))))) D. C., are you okay with applying patches to your local copy, or do you need someone to clean it up and merge it into core? I have copyright assignment papers on file. Feel free to do what you want with the code! Sacha