search key nav fixes again
All checks were successful
Build Roam Site / build (push) Successful in 30s

This commit is contained in:
2026-05-14 15:17:09 +01:00
parent 963619f883
commit 8b2dfe7e2a

View File

@@ -11,12 +11,37 @@
(package-initialize) (package-initialize)
(defvar site-root (defvar site-root
(file-name-directory (let ((script-dir (file-name-directory
(or load-file-name buffer-file-name))) (or load-file-name buffer-file-name))))
(file-name-as-directory
(expand-file-name
(if (string= (file-name-nondirectory
(directory-file-name script-dir))
"lisp")
".."
".")
script-dir))))
(defconst z/build-start-time (float-time)
"Wall-clock time when the build started.")
(defun site-path (path) (defun site-path (path)
(expand-file-name path site-root)) (expand-file-name path site-root))
(defun z/asset-version (path)
"Return a deterministic cache-busting version for asset PATH."
(let* ((file (site-path path))
(attrs (and (file-exists-p file) (file-attributes file)))
(mtime (and attrs (file-attribute-modification-time attrs)))
(size (and attrs (file-attribute-size attrs))))
(if (and mtime size)
(format "%x-%x" (floor (float-time mtime)) size)
(format "%x" (floor z/build-start-time)))))
(defun z/asset-url (path)
"Return root-relative asset PATH with a cache-busting query string."
(format "/%s?v=%s" path (z/asset-version path)))
(unless package-archive-contents (unless package-archive-contents
(package-refresh-contents)) (package-refresh-contents))
@@ -138,26 +163,41 @@
(add-to-list 'load-path default-directory) (add-to-list 'load-path default-directory)
(defvar z-shared-head (defvar z-shared-head
" (concat
<link rel=\"icon\" type=\"image/png\" sizes=\"48x48\" href=\"/assets/icons/icons8-z-key-64.png\" /> "\n<link rel=\"icon\" type=\"image/png\" sizes=\"48x48\" href=\"/assets/icons/icons8-z-key-64.png\" />
<link rel=\"stylesheet\" href=\"/assets/styles/style.css?v=20260514-search-modal\" /> "
<link rel=\"stylesheet\" href=\"/assets/styles/bigger-picture.min.css\" /> (mapconcat
<link rel=\"stylesheet\" href=\"/assets/styles/media.css?v=20260514-search-modal\" /> (lambda (file)
<link rel=\"stylesheet\" href=\"/assets/styles/cookbook.css\" /> (format "<link rel=\"stylesheet\" href=\"%s\" />"
(z/asset-url (format "assets/styles/%s" file))))
'("style.css"
"bigger-picture.min.css"
"media.css"
"cookbook.css")
"\n")
"
<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" /> <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />
<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin /> <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />
<link href=\"https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap\" rel=\"stylesheet\" /> <link href=\"https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap\" rel=\"stylesheet\" />
<script src=\"/assets/scripts/script.js?v=20260514-search-modal\" defer></script> "
<script src=\"/assets/scripts/search.js?v=20260514-search-modal\" defer></script> (mapconcat
<script src=\"/assets/scripts/bigger-picture.min.js\" defer></script> (lambda (file)
<script src=\"/assets/scripts/svg-pan-zoom.min.js\" defer></script> (format "<script src=\"%s\" defer></script>"
<script src=\"/assets/scripts/gallery-init.js\" defer></script> (z/asset-url (format "assets/scripts/%s" file))))
<script src=\"/assets/scripts/cookbook.js\" defer></script> '("script.js"
"search.js"
<script src=\"/assets/scripts/mermaid.min.js\"></script> "bigger-picture.min.js"
"svg-pan-zoom.min.js"
"gallery-init.js"
"cookbook.js")
"\n")
"\n\n"
(format "<script src=\"%s\"></script>"
(z/asset-url "assets/scripts/mermaid.min.js"))
"
<script> <script>
MathJax = { MathJax = {
@@ -263,7 +303,7 @@ window.mvOpen=function(el){
}); });
}); });
</script> </script>
" ")
) )
(defvar z-preamble (defvar z-preamble