|
|
|
(defsystem #:ritherdon-archive
|
|
|
|
:version "0.1.0"
|
|
|
|
:author "Craig Oates"
|
|
|
|
:license "MIT"
|
|
|
|
:depends-on (#:clack
|
|
|
|
#:lack
|
|
|
|
#:caveman2
|
|
|
|
#:envy
|
|
|
|
#:cl-ppcre
|
|
|
|
#:uiop
|
|
|
|
|
|
|
|
;; for @route annotation
|
|
|
|
#:cl-syntax-annot
|
|
|
|
|
|
|
|
;; HTML Template
|
|
|
|
#:djula
|
|
|
|
|
|
|
|
;; for DB
|
|
|
|
#:datafly
|
|
|
|
#:sxql
|
|
|
|
|
|
|
|
;;; Additional Packages (after initial Caveman set-up)
|
|
|
|
#:woo ; Alternative server to Hunchentoot
|
|
|
|
#:clack-errors ; Error report (HTML/template views)
|
|
|
|
#:mito ; Database ORM
|
|
|
|
#:mito-auth ; Auth. with password hashing and salting
|
|
|
|
#:osicat ; Environment variables (dev/prod.)
|
|
|
|
#:ratify ; Utilites
|
|
|
|
#:trivia ; Pattern matching
|
|
|
|
#:plump ; Parsing (HTML/XML)
|
|
|
|
#:dexador ; HTTP client
|
|
|
|
#:clss ; DOM tree search based on CSS selectors
|
|
|
|
#:3bmd ; Markdown
|
|
|
|
#:cl-json ; JSON Parsing
|
|
|
|
#:cl-who ; Markup
|
|
|
|
#:sqlite ; Sqlite database ORM
|
|
|
|
#:hermetic ; Authentication
|
|
|
|
#:cl-fad ; Files and directories
|
|
|
|
#:xml-emitter ; XML Emitter for RSS Feed
|
|
|
|
#:serapeum ; Pagination
|
|
|
|
#:cl-slug ; Asciify and slugify strings
|
|
|
|
#:str ; String manipulation (easier than built-in)
|
|
|
|
#:copy-directory ; Copy Directories using Native cp
|
|
|
|
#:cl-diskspace ; Get Disk Info.
|
|
|
|
#:zip ; Zip and compression
|
|
|
|
)
|
|
|
|
:pathname "src/"
|
|
|
|
;; :serial t
|
|
|
|
:components (;; Caveman Files
|
|
|
|
(:file "config")
|
|
|
|
(:file "main")
|
|
|
|
(:file "db")
|
|
|
|
|
|
|
|
;; Ritherdon Archive Specific Files
|
|
|
|
(:file "app-constants")
|
|
|
|
(:file "models/user")
|
|
|
|
(:file "models/site-settings")
|
|
|
|
(:file "models/pages")
|
|
|
|
(:file "models/files")
|
|
|
|
(:file "models/archive")
|
|
|
|
(:file "status-codes")
|
|
|
|
(:file "storage")
|
|
|
|
(:file "utils")
|
|
|
|
(:file "auth")
|
|
|
|
(:file "validation")
|
|
|
|
(:file "nera") ; Database stuff
|
|
|
|
(:file "search") ; Meilisearch stuff
|
|
|
|
(:file "snapshot") ; Site back-up/snapshot stuff
|
|
|
|
;; Caveman Files
|
|
|
|
(:file "view")
|
|
|
|
(:file "web"))
|
|
|
|
:description "The Nicola Ellis & Ritherdon Archive."
|
|
|
|
:build-operation "program-op"
|
|
|
|
:build-pathname "clinera"
|
|
|
|
:entry-point "ritherdon-archive:main"
|
|
|
|
:in-order-to ((test-op (test-op "ritherdon-archive/tests"))))
|
|
|
|
|
|
|
|
|
|
|
|
(defsystem #:ritherdon-archive/tests
|
|
|
|
:author "Craig Oates"
|
|
|
|
:license "MIT"
|
|
|
|
:depends-on (#:ritherdon-archive
|
|
|
|
#:parachute)
|
|
|
|
:components ((:module "tests"
|
|
|
|
:components
|
|
|
|
((:file "tests"))))
|
|
|
|
:description "Test system for ritherdon-archive."
|
|
|
|
:perform (test-op (op c) (symbol-call :parachute :test :tests)))
|