2d3d3de8cd
- Lazy load ninja-keys only on CMD+K press (0 requests on initial load) - Use esm.sh bundled module (3 requests vs ~81 previously) - Add esm.sh to CSP whitelist - Implement HTML Invoker Commands API for modals: - commandfor="modal-id" + command="show-modal" for opening - commandfor="modal-id" + command="close" for closing - Removes need for onclick handlers on modal buttons - Refactor index.html into layout partials (head, body-scripts) - Add comprehensive tests for both features
35 lines
1.9 KiB
HTML
35 lines
1.9 KiB
HTML
{{define "head-scripts"}}
|
|
<!-- Device Detection - Detect real mobile devices vs desktop browser -->
|
|
<script src="/static/js/device-detection.js"></script>
|
|
|
|
<!-- HTMX with SRI (Subresource Integrity) -->
|
|
<script src="https://unpkg.com/htmx.org@1.9.10"
|
|
integrity="sha384-D1Kt99CQMDuVetoL1lrYwg5t+9QdHe7NLX/SoJYkXDFfX37iInKRy5xLSi8nO7UC"
|
|
crossorigin="anonymous"></script>
|
|
|
|
<!-- Hyperscript Functions - Must load BEFORE hyperscript library -->
|
|
<!-- NOTE: cv-functions.js removed - hyperscript def statements are globally available -->
|
|
<!-- ✅ NO def limit with latest hyperscript - organized by category -->
|
|
<script type="text/hyperscript" src="/static/hyperscript/utils._hs"></script>
|
|
<script type="text/hyperscript" src="/static/hyperscript/toggles._hs"></script>
|
|
<script type="text/hyperscript" src="/static/hyperscript/hover-sync._hs"></script>
|
|
<script type="text/hyperscript" src="/static/hyperscript/keyboard._hs"></script>
|
|
<script type="text/hyperscript" src="/static/hyperscript/zoom._hs"></script>
|
|
<script type="text/hyperscript" src="/static/hyperscript/pdf-modal._hs"></script>
|
|
|
|
<!-- Color Theme System (JavaScript - hyperscript had parsing issues with colons in strings) -->
|
|
<script src="/static/js/color-theme.js"></script>
|
|
|
|
<!-- NOTE: footer-buttons-interaction.js removed - moved to hyperscript on footer element -->
|
|
<!-- NOTE: scroll-at-bottom-handler.js removed - duplicate of handleScroll() in utils._hs -->
|
|
|
|
<!-- Hyperscript - Declarative event handling for enhanced interactivity -->
|
|
<script src="https://unpkg.com/hyperscript.org@0.9.14"></script>
|
|
|
|
<!-- Ninja Keys - Lazy loaded on CMD+K (see body-scripts for loader) -->
|
|
|
|
<!-- Iconify - Load synchronously for immediate rendering -->
|
|
<!-- Using unpkg CDN (more reliable than code.iconify.design) -->
|
|
<script src="https://cdn.jsdelivr.net/npm/iconify-icon@2.1.0/dist/iconify-icon.min.js"></script>
|
|
{{end}}
|