From 24b396d47b936e31e2b54f1dd3e2262063662d9e Mon Sep 17 00:00:00 2001 From: Craig Oates Date: Fri, 9 Sep 2022 02:34:39 +0100 Subject: [PATCH] delete caveman2 (initial install) code. I'm going to try this with Python and Django first. Because it's not my personal project, it might be better to use a language which is more mainstream. It should reduce the 'Bus Factor'. --- app.lisp | 39 -------------------------- db/schema.sql | 0 ritherdon-archive-test.asd | 11 -------- ritherdon-archive.asd | 29 ------------------- src/config.lisp | 44 ----------------------------- src/db.lisp | 23 --------------- src/main.lisp | 30 -------------------- src/view.lisp | 51 ---------------------------------- src/web.lisp | 35 ----------------------- static/css/main.css | 21 -------------- templates/_errors/404.html | 47 ------------------------------- templates/index.html | 7 ----- templates/layouts/default.html | 11 -------- tests/ritherdon-archive.lisp | 12 -------- 14 files changed, 360 deletions(-) delete mode 100644 app.lisp delete mode 100644 db/schema.sql delete mode 100644 ritherdon-archive-test.asd delete mode 100644 ritherdon-archive.asd delete mode 100644 src/config.lisp delete mode 100644 src/db.lisp delete mode 100644 src/main.lisp delete mode 100644 src/view.lisp delete mode 100644 src/web.lisp delete mode 100644 static/css/main.css delete mode 100644 templates/_errors/404.html delete mode 100644 templates/index.html delete mode 100644 templates/layouts/default.html delete mode 100644 tests/ritherdon-archive.lisp diff --git a/app.lisp b/app.lisp deleted file mode 100644 index 52983ed..0000000 --- a/app.lisp +++ /dev/null @@ -1,39 +0,0 @@ -(ql:quickload :ritherdon-archive) - -(defpackage ritherdon-archive.app - (:use :cl) - (:import-from :lack.builder - :builder) - (:import-from :ppcre - :scan - :regex-replace) - (:import-from :ritherdon-archive.web - :*web*) - (:import-from :ritherdon-archive.config - :config - :productionp - :*static-directory*)) -(in-package :ritherdon-archive.app) - -(builder - (:static - :path (lambda (path) - (if (ppcre:scan "^(?:/images/|/css/|/js/|/robot\\.txt$|/favicon\\.ico$)" path) - path - nil)) - :root *static-directory*) - (if (productionp) - nil - :accesslog) - (if (getf (config) :error-log) - `(:backtrace - :output ,(getf (config) :error-log)) - nil) - :session - (if (productionp) - nil - (lambda (app) - (lambda (env) - (let ((datafly:*trace-sql* t)) - (funcall app env))))) - *web*) diff --git a/db/schema.sql b/db/schema.sql deleted file mode 100644 index e69de29..0000000 diff --git a/ritherdon-archive-test.asd b/ritherdon-archive-test.asd deleted file mode 100644 index 0d9a068..0000000 --- a/ritherdon-archive-test.asd +++ /dev/null @@ -1,11 +0,0 @@ -(defsystem "ritherdon-archive-test" - :defsystem-depends-on ("prove-asdf") - :author "Craig Oates" - :license "MIT" - :depends-on ("ritherdon-archive" - "prove") - :components ((:module "tests" - :components - ((:test-file "ritherdon-archive")))) - :description "Test system for ritherdon-archive" - :perform (test-op (op c) (symbol-call :prove-asdf :run-test-system c))) diff --git a/ritherdon-archive.asd b/ritherdon-archive.asd deleted file mode 100644 index a874489..0000000 --- a/ritherdon-archive.asd +++ /dev/null @@ -1,29 +0,0 @@ -(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") - :components ((:module "src" - :components - ((:file "main" :depends-on ("config" "view" "db")) - (:file "web" :depends-on ("view")) - (:file "view" :depends-on ("config")) - (:file "db" :depends-on ("config")) - (:file "config")))) - :description "A website to host Ritherdon's Archive." - :in-order-to ((test-op (test-op "ritherdon-archive-test")))) diff --git a/src/config.lisp b/src/config.lisp deleted file mode 100644 index 552f223..0000000 --- a/src/config.lisp +++ /dev/null @@ -1,44 +0,0 @@ -(in-package :cl-user) -(defpackage ritherdon-archive.config - (:use :cl) - (:import-from :envy - :config-env-var - :defconfig) - (:export :config - :*application-root* - :*static-directory* - :*template-directory* - :appenv - :developmentp - :productionp)) -(in-package :ritherdon-archive.config) - -(setf (config-env-var) "APP_ENV") - -(defparameter *application-root* (asdf:system-source-directory :ritherdon-archive)) -(defparameter *static-directory* (merge-pathnames #P"static/" *application-root*)) -(defparameter *template-directory* (merge-pathnames #P"templates/" *application-root*)) - -(defconfig :common - `(:databases ((:maindb :sqlite3 :database-name ":memory:")))) - -(defconfig |development| - '()) - -(defconfig |production| - '()) - -(defconfig |test| - '()) - -(defun config (&optional key) - (envy:config #.(package-name *package*) key)) - -(defun appenv () - (uiop:getenv (config-env-var #.(package-name *package*)))) - -(defun developmentp () - (string= (appenv) "development")) - -(defun productionp () - (string= (appenv) "production")) diff --git a/src/db.lisp b/src/db.lisp deleted file mode 100644 index 6fcb587..0000000 --- a/src/db.lisp +++ /dev/null @@ -1,23 +0,0 @@ -(in-package :cl-user) -(defpackage ritherdon-archive.db - (:use :cl) - (:import-from :ritherdon-archive.config - :config) - (:import-from :datafly - :*connection*) - (:import-from :cl-dbi - :connect-cached) - (:export :connection-settings - :db - :with-connection)) -(in-package :ritherdon-archive.db) - -(defun connection-settings (&optional (db :maindb)) - (cdr (assoc db (config :databases)))) - -(defun db (&optional (db :maindb)) - (apply #'connect-cached (connection-settings db))) - -(defmacro with-connection (conn &body body) - `(let ((*connection* ,conn)) - ,@body)) diff --git a/src/main.lisp b/src/main.lisp deleted file mode 100644 index a921a9f..0000000 --- a/src/main.lisp +++ /dev/null @@ -1,30 +0,0 @@ -(in-package :cl-user) -(defpackage ritherdon-archive - (:use :cl) - (:import-from :ritherdon-archive.config - :config) - (:import-from :clack - :clackup) - (:export :start - :stop)) -(in-package :ritherdon-archive) - -(defvar *appfile-path* - (asdf:system-relative-pathname :ritherdon-archive #P"app.lisp")) - -(defvar *handler* nil) - -(defun start (&rest args &key server port debug &allow-other-keys) - (declare (ignore server port debug)) - (when *handler* - (restart-case (error "Server is already running.") - (restart-server () - :report "Restart the server" - (stop)))) - (setf *handler* - (apply #'clackup *appfile-path* args))) - -(defun stop () - (prog1 - (clack:stop *handler*) - (setf *handler* nil))) diff --git a/src/view.lisp b/src/view.lisp deleted file mode 100644 index b6b8037..0000000 --- a/src/view.lisp +++ /dev/null @@ -1,51 +0,0 @@ -(in-package :cl-user) -(defpackage ritherdon-archive.view - (:use :cl) - (:import-from :ritherdon-archive.config - :*template-directory*) - (:import-from :caveman2 - :*response* - :response-headers) - (:import-from :djula - :add-template-directory - :compile-template* - :render-template* - :*djula-execute-package*) - (:import-from :datafly - :encode-json) - (:export :render - :render-json)) -(in-package :ritherdon-archive.view) - -(djula:add-template-directory *template-directory*) - -(defparameter *template-registry* (make-hash-table :test 'equal)) - -(defun render (template-path &optional env) - (let ((template (gethash template-path *template-registry*))) - (unless template - (setf template (djula:compile-template* (princ-to-string template-path))) - (setf (gethash template-path *template-registry*) template)) - (apply #'djula:render-template* - template nil - env))) - -(defun render-json (object) - (setf (getf (response-headers *response*) :content-type) "application/json") - (encode-json object)) - - -;; -;; Execute package definition - -(defpackage ritherdon-archive.djula - (:use :cl) - (:import-from :ritherdon-archive.config - :config - :appenv - :developmentp - :productionp) - (:import-from :caveman2 - :url-for)) - -(setf djula:*djula-execute-package* (find-package :ritherdon-archive.djula)) diff --git a/src/web.lisp b/src/web.lisp deleted file mode 100644 index 1cc7130..0000000 --- a/src/web.lisp +++ /dev/null @@ -1,35 +0,0 @@ -(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 () ()) -(defvar *web* (make-instance ')) -(clear-routing-rules *web*) - -;; -;; Routing rules - -(defroute "/" () - (render #P"index.html")) - -;; -;; Error pages - -(defmethod on-exception ((app ) (code (eql 404))) - (declare (ignore app)) - (merge-pathnames #P"_errors/404.html" - *template-directory*)) diff --git a/static/css/main.css b/static/css/main.css deleted file mode 100644 index 2e05864..0000000 --- a/static/css/main.css +++ /dev/null @@ -1,21 +0,0 @@ -@charset "UTF-8"; - -body { - font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; -} - -a:link { - color: #005585; - text-decoration: none; -} -a:visited { - color: #485270; -} -a:hover { - color: #b83800; - text-decoration: underline; -} - -#main { - text-align: center; -} diff --git a/templates/_errors/404.html b/templates/_errors/404.html deleted file mode 100644 index 5d0d4ae..0000000 --- a/templates/_errors/404.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - 404 NOT FOUND - - - -
-
-
404
-
NOT FOUND
-
-
- - diff --git a/templates/index.html b/templates/index.html deleted file mode 100644 index 6a3c687..0000000 --- a/templates/index.html +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "layouts/default.html" %} -{% block title %}Welcome to Caveman2{% endblock %} -{% block content %} -
- Welcome to Caveman2! -
-{% endblock %} diff --git a/templates/layouts/default.html b/templates/layouts/default.html deleted file mode 100644 index 6dba578..0000000 --- a/templates/layouts/default.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - {% block title %}{% endblock %} - - - - {% block content %}{% endblock %} - - diff --git a/tests/ritherdon-archive.lisp b/tests/ritherdon-archive.lisp deleted file mode 100644 index c3504a8..0000000 --- a/tests/ritherdon-archive.lisp +++ /dev/null @@ -1,12 +0,0 @@ -(in-package :cl-user) -(defpackage ritherdon-archive-test - (:use :cl - :ritherdon-archive - :prove)) -(in-package :ritherdon-archive-test) - -(plan nil) - -;; blah blah blah. - -(finalize)