+(define (document-script? config uri)
+ (let ((path (document-path config uri)))
+ (and (file-exists? path)
+ (file-executable? path)
+ (equal? (pathname-extension path) "scm"))))
+
+(define (document-path-directory? config uri)
+ (directory-exists? (document-path-raw config uri)))
+
+(define (document-path-raw config uri)
+ (let* ((crumbs (reverse (cons (config-root-dir config) (cdr (uri-path uri))))))
+ (make-pathname (reverse (cdr crumbs)) (car crumbs))))
+