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.
35 lines
685 B
35 lines
685 B
(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*))
|
|
|