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.
 
 
 
 
 
 

88 lines
2.9 KiB

(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)))