small changes

This commit is contained in:
2026-09-07 22:41:33 +02:00
parent 32c75f8ff1
commit d351b8e3c8
7 changed files with 250 additions and 11 deletions
+24 -1
View File
@@ -5,6 +5,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require db
net/uri-codec
racket/string)
(provide replace-current-attachment-references!
@@ -27,6 +28,12 @@ SQL
(define (attachment-url reference stored-name)
(format "/uploads/~a/~a" reference stored-name))
(define (attachment-url-variants reference stored-name)
(list (attachment-url reference stored-name)
(format "/uploads/~a/~a"
reference
(uri-path-segment-unreserved-encode stored-name))))
(define (page-references db page-id)
(let* ((current
(query-row db
@@ -57,7 +64,8 @@ SQL
(stored-name (vector-ref row 2))
(found? #f))
(for ((reference (in-list (page-references db owner-page-id))))
(when (string-contains? markdown (attachment-url reference stored-name))
(when (for/or ((url (in-list (attachment-url-variants reference stored-name))))
(string-contains? markdown url))
(set! found? #t)))
(when found?
(query-exec db
@@ -89,6 +97,21 @@ SQL
(record-references! db page-id sql-null markdown #t referenced-at)
(void))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Tests for module attachment-references.rkt.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(module+ test
(require rackunit)
(define urls
(attachment-url-variants
"review-zuidas-2026:appreciatie"
"1788796826-35348-Review ZuidasDok.docx"))
(check-equal?
urls
(list "/uploads/review-zuidas-2026:appreciatie/1788796826-35348-Review ZuidasDok.docx"
"/uploads/review-zuidas-2026:appreciatie/1788796826-35348-Review%20ZuidasDok.docx")))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; goal : Record attachment references present in an immutable page version.
; pre : page-version-id identifies the stored version represented by markdown.