{# Returned on its own by GET/POST/DELETE api/bookmark, and included in the shell so a normal navigation paints the bookmark without a second request. Both paths must produce the same element for the swap to be seamless. outerHTML is the swap, so this element re-declares its own htmx attributes every time: the replacement is what receives the next event. hx-target is inherited, and the shell points it at #content, so "this" is not the default here -- it has to be said. Empty state is d-none, not the hidden attribute: Bootstrap declares .d-flex after Reboot's [hidden] rule, both !important and at the same specificity, so the utility would win. #} {%- if mark %} Bookmark {# Not boosted: a real navigation lets the browser scroll to the verse anchor, which a swap into #content would not do. #} {{ mark.ref }} {%- endif %}