Improved graceful handling of missing code annotations

This commit is contained in:
squidfunk 2022-01-08 10:54:53 +01:00
parent cb818af6e5
commit db3ba10979
4 changed files with 11 additions and 8 deletions

View File

@ -213,7 +213,7 @@
</script>
{% endblock %}
{% block scripts %}
<script src="{{ 'assets/javascripts/bundle.289a2a4b.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.2feb5f25.min.js' | url }}"></script>
{% for path in config["extra_javascript"] %}
<script src="{{ path | url }}"></script>
{% endfor %}

View File

@ -34,7 +34,8 @@ import {
import {
getElement,
getElements
getElements,
getOptionalElement
} from "~/browser"
import { renderAnnotation } from "~/templates"
@ -118,8 +119,10 @@ export function mountAnnotationList(
const annotations = new Map<number, HTMLElement>()
for (const marker of findAnnotationMarkers(container)) {
const [, id] = marker.textContent!.match(/\((\d+)\)/)!
annotations.set(+id, renderAnnotation(+id))
marker.replaceWith(annotations.get(+id)!)
if (getOptionalElement(`li:nth-child(${id})`, el)) {
annotations.set(+id, renderAnnotation(+id))
marker.replaceWith(annotations.get(+id)!)
}
}
/* Keep list if there are no annotations to render */