(defun base-url! (url)
(setq *base-url* url))
-(defun make-url (page-name &key (base-dir *base-url*) (format :html) (vars nil))
+(defun make-url (page-name &key (base-dir *base-url*) (format :html) vars anchor)
(let ((amp (case format
(:html
"&")
(if vars
(let ((first-var (first vars)))
(concatenate 'string
- "?" (car first-var) "=" (cadr first-var)
+ "?" (car first-var) "=" (cdr first-var)
(mapcar-append-string
#'(lambda (var)
- (when (and (car var) (cadr var))
+ (when (and (car var) (cdr var))
(concatenate 'string
- amp (car var) "=" (cadr var))))
+ amp (string-downcase (car var)) "=" (cdr var))))
(rest vars))))
+ "")
+ (if anchor
+ (concatenate 'string "#" anchor)
""))))
-(defun make-url-new (page-name &key (base-dir *base-url*) (format :html)
- (vars nil))
- (let ((amp (ecase format
- (:html "&")
- ((:xml :ie-xml) "&"))))
- (concatenate 'string
- base-dir page-name
- (if vars
- (let ((first-var (first vars)))
- (concatenate 'string
- "?" (car first-var) "=" (cadr first-var)
- (mapcar-append-string
- #'(lambda (var)
- (when (and (car var) (cadr var))
- (concatenate 'string
- amp (car var) "=" (cadr var))))
- (rest vars))))
- ""))))
-
(defun decode-uri-query-string (s)
"Decode a URI query string field"
(declare (simple-string s)