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> </script>
{% endblock %} {% endblock %}
{% block scripts %} {% 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"] %} {% for path in config["extra_javascript"] %}
<script src="{{ path | url }}"></script> <script src="{{ path | url }}"></script>
{% endfor %} {% endfor %}

View File

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