Public archive for the Return to Ritherdon project.
https://www.nicolaellisandritherdon.com
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
685 B
36 lines
685 B
2 years ago
|
(in-package :cl-user)
|
||
|
(defpackage ritherdon-archive.web
|
||
|
(:use :cl
|
||
|
:caveman2
|
||
|
:ritherdon-archive.config
|
||
|
:ritherdon-archive.view
|
||
|
:ritherdon-archive.db
|
||
|
:datafly
|
||
|
:sxql)
|
||
|
(:export :*web*))
|
||
|
(in-package :ritherdon-archive.web)
|
||
|
|
||
|
;; for @route annotation
|
||
|
(syntax:use-syntax :annot)
|
||
|
|
||
|
;;
|
||
|
;; Application
|
||
|
|
||
|
(defclass <web> (<app>) ())
|
||
|
(defvar *web* (make-instance '<web>))
|
||
|
(clear-routing-rules *web*)
|
||
|
|
||
|
;;
|
||
|
;; Routing rules
|
||
|
|
||
|
(defroute "/" ()
|
||
|
(render #P"index.html"))
|
||
|
|
||
|
;;
|
||
|
;; Error pages
|
||
|
|
||
|
(defmethod on-exception ((app <web>) (code (eql 404)))
|
||
|
(declare (ignore app))
|
||
|
(merge-pathnames #P"_errors/404.html"
|
||
|
*template-directory*))
|