> On May 2, 2026, at 7:08 AM, Ihor Radchenko <[email protected]> wrote:
> 
> Derek Chen-Becker <[email protected]> writes:
> 
>> I dug a little bit into the export code and it looks like the default
>> function for formatting TOC entries is `org-export-toc-entry-backend',
>> which explicitly states that "...it changes links and radio targets into
>> regular text." It does take an optional set of transcoders, so I tried
>> changing where it gets called in ox-html.el to pass a custom transcoder for
>> links:
>> 
>> @@ -2589,7 +2589,9 @@ INFO is a plist used as a communication channel."
>>                         (org-element-property :priority headline)))
>>          (text (org-export-data-with-backend
>>                 (org-export-get-alt-title headline info)
>> -                (org-export-toc-entry-backend 'html)
>> +                (org-export-toc-entry-backend 'html
>> +                  `(link . ,(lambda (l c i)
>> +                              (org-html-link l c i))))
>>                 info))
>>          (tags (and (eq (plist-get info :with-tags) t)
>>                     (org-export-get-tags headline info))))
>> 
>> With some minimal testing this does appear to work, at least with the test
>> case I created. I don't know that we want to make a default behavior
>> change, so it might be better to provide a defcustom to either control
>> HTML-ified links or to allow for a custom format function. There may
>> already be one, I'm not that familiar with ox-html.el and didn't have time
>> to fully review the file.
> 
> There is a reason why the link is replaced by description (or url) by
> default. TOC items are themselves links, which generally does not play
> well with links inside headings.
> 
> For example, consider
> 
> #+options: toc:t
> 
> * [[https://orgmode.org][org]] Test
> * [[file:~/Git/worg/images/icons/info.png]] Test 2
> * Test 3
>   This is a test
> 
> The first TOC item will be messed up.
> 
In HTML, links can contain images which is what the SVG should be changed to.  
I didn’t know when I first reported it that this was how things were supposed 
to work.  I am new here and assumed it was just that I had done something 
incorrectly.

Thank you,
Perry




Reply via email to