Add a controller for experimental Quicklisp badge.

This commit is contained in:
Eitaro Fukamachi 2015-07-30 09:38:11 +09:00
parent 83057106bc
commit b7183611de

View file

@ -7,7 +7,8 @@
:quickdocs-server.db :quickdocs-server.db
:datafly :datafly
:sxql :sxql
:quickdocs-database) :quickdocs-database
:split-sequence)
(:import-from :quickdocs-server.search (:import-from :quickdocs-server.search
:search-projects :search-projects
:download-stats) :download-stats)
@ -137,6 +138,19 @@
(redirect (format nil "/~A/" (quri:url-encode project-name)) 301) (redirect (format nil "/~A/" (quri:url-encode project-name)) 301)
"") "")
@route GET "/badge/:project-name.svg"
(defun quicklisp-badge (&key project-name)
(let ((project (and project-name
(retrieve-project project-name))))
(unless project
(throw-code 404))
(redirect
(destructuring-bind (y m d)
(split-sequence #\- (project-release-version project))
(format nil "https://img.shields.io/badge/Quicklisp-~A--~A--~A-blue.svg"
y m d)))))
;; ;;
;; Error pages ;; Error pages