diff --git a/changelogs/internal/newsfragments/1996.clarification b/changelogs/internal/newsfragments/1996.clarification
index 2147c2411..fbfe46cce 100644
--- a/changelogs/internal/newsfragments/1996.clarification
+++ b/changelogs/internal/newsfragments/1996.clarification
@@ -1 +1 @@
-Upgrade docsy to 0.11.0 and hugo to 0.138.0.
+Upgrade docsy to 0.11.0 and hugo to 0.139.0.
diff --git a/changelogs/internal/newsfragments/2007.clarification b/changelogs/internal/newsfragments/2007.clarification
new file mode 100644
index 000000000..fbfe46cce
--- /dev/null
+++ b/changelogs/internal/newsfragments/2007.clarification
@@ -0,0 +1 @@
+Upgrade docsy to 0.11.0 and hugo to 0.139.0.
diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html
new file mode 100644
index 000000000..7ae7aba7b
--- /dev/null
+++ b/layouts/_default/_markup/render-heading.html
@@ -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" . }}
diff --git a/layouts/_default/_markup/td-heading-self-link.html b/layouts/_default/_markup/td-heading-self-link.html
new file mode 100644
index 000000000..3d8d7df5c
--- /dev/null
+++ b/layouts/_default/_markup/td-heading-self-link.html
@@ -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.
+
+*/ -}}
+
+
\ No newline at end of file
diff --git a/layouts/partials/events/render-event.html b/layouts/partials/events/render-event.html
index 154e51bf3..f9cbb2468 100644
--- a/layouts/partials/events/render-event.html
+++ b/layouts/partials/events/render-event.html
@@ -15,14 +15,16 @@
{{ $event_name := .event_name }}
{{ $desired_example_name := .desired_example_name }}
{{ $event_data := .event_data }}
+{{ $anchor := anchorize $event_name }}
-
+
{{ with .title }}{{ . | markdownify }}{{ else }}{{ $event_name }}
{{ end }}
+ {{ template "_default/_markup/td-heading-self-link.html" $anchor }}
diff --git a/layouts/partials/openapi/render-operation.html b/layouts/partials/openapi/render-operation.html
index 614e37a15..b55a209e4 100644
--- a/layouts/partials/openapi/render-operation.html
+++ b/layouts/partials/openapi/render-operation.html
@@ -37,6 +37,7 @@
{{ $method }}
{{ $endpoint }}
+ {{ template "_default/_markup/td-heading-self-link.html" $anchor }}