summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Okay <okay@toyful.space>2021-05-12 14:27:35 -0500
committerColin Okay <okay@toyful.space>2021-05-12 14:27:35 -0500
commit747acf957ef1542cee64298148ed2a4960408390 (patch)
tree35efda74b6903315a0f2eebdaaf363007650ebc1
initial commit
-rw-r--r--flexo.asd17
-rw-r--r--flexo.lisp28
-rw-r--r--package.lisp7
3 files changed, 52 insertions, 0 deletions
diff --git a/flexo.asd b/flexo.asd
new file mode 100644
index 0000000..ece586c
--- /dev/null
+++ b/flexo.asd
@@ -0,0 +1,17 @@
+;;;; flexo.asd
+
+(asdf:defsystem #:flexo
+ :description "Describe flexo here"
+ :author "Your Name <your.name@example.com>"
+ :license "Specify license here"
+ :version "0.0.1"
+ :serial t
+ :depends-on (#:spinneret
+ #:parenscript
+ #:lass
+ #:alexandria
+ #:uiop
+ #:hunchentoot
+ #:cl-ppcre)
+ :components ((:file "package")
+ (:file "flexo")))
diff --git a/flexo.lisp b/flexo.lisp
new file mode 100644
index 0000000..e49bbe2
--- /dev/null
+++ b/flexo.lisp
@@ -0,0 +1,28 @@
+;;;; flexo.lisp
+
+(in-package #:flexo)
+
+;;; CONTENT CLASSES
+
+(defclass content () ())
+
+(defclass local-file-content (content)
+ ((filepath
+ :reader local-filepath
+ :initarg :filepath
+ :initform (error "LOCAL-FILE-CONTENT must have a FILEPATH slot value."))))
+
+(defclass plaintext-content (content)
+ ((encoding
+ :reader encoding
+ :initarg :encoding
+ :initform :utf8)))
+
+(defclass markdown-content (plaintext-content) ())
+(defclass org-content (plaintext-content) ())
+(defclass pdf-content (content) ())
+(defclass image-content (content) ())
+(defclass audio-content (content) ())
+(defclass video-content (content) ())
+
+;;;
diff --git a/package.lisp b/package.lisp
new file mode 100644
index 0000000..130ce1b
--- /dev/null
+++ b/package.lisp
@@ -0,0 +1,7 @@
+;;;; package.lisp
+
+(defpackage #:flexo
+ (:use #:cl)
+ (:import-from #:spinneret
+ #:with-html
+ #:with-html-string))