Restore heading self links

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>
pull/2007/head
Kévin Commaille 1 week ago
parent d67dd88457
commit 97601f12ff
No known key found for this signature in database
GPG Key ID: 0C971D9DBC9D678D

@ -0,0 +1 @@
{{ template "_default/_markup/td-render-heading.html" . }}

@ -0,0 +1,11 @@
{{- /*
A copy of the private "_default/_markup/_td-heading-self-link.html" template
in Docsy's "_default/_markup/_td-render-heading.html" partial to be able to
reuse it when the title 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>

@ -15,14 +15,16 @@
{{ $event_name := .event_name }}
{{ $desired_example_name := .desired_example_name }}
{{ $event_data := .event_data }}
{{ $anchor := anchorize $event_name }}
<section class="rendered-data event">
<details {{ if not .Site.Params.ui.rendered_data_collapsed }}open{{ end }}>
<summary>
<h1 id="{{ anchorize $event_name }}">
<h1 id="{{ $anchor }}">
{{ with .title }}{{ . | markdownify }}{{ else }}<code>{{ $event_name }}</code>{{ end }}
{{ template "_default/_markup/td-heading-self-link.html" $anchor }}
</h1>
</summary>

@ -37,6 +37,7 @@
<h1 id="{{ $anchor }}">
<span class="http-api-method">{{ $method }}</span>
<span class="endpoint{{ if $operation_data.deprecated }} deprecated-inline{{ end }}">{{ $endpoint }}</span>
{{ template "_default/_markup/td-heading-self-link.html" $anchor }}
</h1>
</summary>

Loading…
Cancel
Save