Restore heading self links (#2007)

It was a change I did not notice when upgrading Docsy from 0.8.0 to 0.11.0. Docsy changed the way heading self links are generated: they used to be rendered with JS and now they use a Hugo render hook.

This means two things:
- We need to enable them explicitly by overriding the `_default/_markup/render-heading.html` template.
- We need to add the self heading ourselves to headings that are not rendered by Hugo, i.e. HTML headings that we create ourselves.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
This commit is contained in:
Kévin Commaille 2024-11-29 10:38:55 +01:00 committed by GitHub
parent f64eec5a93
commit 7ec9b7f2e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 28 additions and 2 deletions

View file

@ -0,0 +1,11 @@
{{- /*
This is a heading render hook (https://gohugo.io/render-hooks/headings/)
using Docsy's heading self-links hook (https://www.docsy.dev/docs/adding-content/navigation/#heading-self-links).
This is used when a heading is encountered in markdown content to generate
the HTML for that heading. A self-link anchor is added at the end of the
heading.
*/ -}}
{{ template "_default/_markup/td-render-heading.html" . }}

View file

@ -0,0 +1,11 @@
{{- /*
A simplified copy of the inlined "_default/_markup/_td-heading-self-link.html"
template in Docsy's "_default/_markup/td-render-heading.html" template to be
able to reuse it when the heading has custom markup.
Takes a string which is the ID of the heading.
*/ -}}
<a class="td-heading-self-link" href="#{{ . | safeURL }}" aria-label="Heading self-link"></a>