aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGrant Shoshin Shangreaux <shoshin@cicadas.surf>2024-07-06 15:44:51 -0500
committerGrant Shoshin Shangreaux <shoshin@cicadas.surf>2024-07-06 15:44:51 -0500
commita95cdd714187903ed24e40804c449e8e4737f027 (patch)
tree25c74b9dd88ac43a437df5175a253798a0367f55
parent79c8538b90ddb99bf038f1b4daed4d666146c2af (diff)
Add: redefined pages with hypnotisml syntax
-rw-r--r--package.lisp4
-rw-r--r--site/home.lisp33
-rw-r--r--site/html.lisp22
-rw-r--r--site/login.lisp25
4 files changed, 41 insertions, 43 deletions
diff --git a/package.lisp b/package.lisp
index d4cf438..a6543c9 100644
--- a/package.lisp
+++ b/package.lisp
@@ -1,13 +1,13 @@
;;;; package.lisp
(defpackage #:vampire
- (:use #:cl)
+ (:use #:cl #:hypnotisml)
(:local-nicknames
(#:db #:bknr.datastore)
(#:wknd #:weekend)
- (#:html #:hypnotisml)
(#:a #:alexandria-2)
(#:zippy #:org.shirakumo.zippy ))
+ (:import-from #:hypnotisml)
(:import-from #:flatbind #:do>)
(:import-from #:bknr.datastore
#:with-transaction
diff --git a/site/home.lisp b/site/home.lisp
index 0b02e0c..ebc644b 100644
--- a/site/home.lisp
+++ b/site/home.lisp
@@ -4,20 +4,19 @@
:using user-known
:get :route ""
:returns "text/html"
- :handle (page (:title "V A M P I R E")
- (:div :id "main"
- (:h1 "hey " (user-name user))
- (:br)
- (:div
- (:form :method "POST" :action (wknd:route-to 'destroy.session)
- (:button :type "submit" "Logout")))
- (:br)
- (:br)
- (:div
- (:form :method "POST" :action (wknd:route-to 'create.invite)
- (:p "Initiate an invitation...")
- (:button :type "submit" "Bite Someone")))
- (:br)
- (:h2 "Outstanding inBites:")
- (:ul (dolist (i (invites-by-maker user))
- (:li (key i)))))))
+ :handle
+ (page
+ "V A M P I R E"
+ (<div>
+ ($vcenter
+ (<div> (<h3> "hey " (user-name user))
+ (<form> (@ :method "POST" :action (wknd:route-to 'destroy.session))
+ (<button> (@ :type "submit") "Logout"))))
+ (<div>
+ (<form> (@ :method "POST" :action (wknd:route-to 'create.invite))
+ (<p> "Initiate an invitation...")
+ (<button> (@ :type "submit") "Bite Someone")))
+ (<h2> "Outstanding inBites:")
+ (apply #'<ul>
+ (mapcar (lambda (i) (<li> (key i)))
+ (invites-by-maker (user-with-name "alucard")))))))
diff --git a/site/html.lisp b/site/html.lisp
index d1d0f1a..4fdecd3 100644
--- a/site/html.lisp
+++ b/site/html.lisp
@@ -1,14 +1,16 @@
(in-package #:vampire)
-(defmacro page ((&key (title "") (csspath "/css/style.css")) &body body)
- `(spinneret:with-html-string
- (:doctype)
- (:head
- (:title ,title)
- (:meta :charset "UTF-8")
- (:meta :name "viewport" :content "width=device-width, initial-scale=1.0")
- (:link :rel "stylesheet" :href ,csspath))
- (:body
- ,@body)))
+(defun page (title &rest body)
+ (with-output-to-string (str)
+ (html
+ (<html>
+ (<head>
+ (<title> title)
+ (<meta> (@ :charset "UTF-8"))
+ (<meta> (@ :name "viewport" :content "width=device-width, initial-scale=1.0")))
+ (<body>
+ ($center
+ (<div> (@ :class "container") (apply 'eval body)))))
+ str)))
diff --git a/site/login.lisp b/site/login.lisp
index cb1f82f..6a6c8aa 100644
--- a/site/login.lisp
+++ b/site/login.lisp
@@ -6,17 +6,14 @@
:handle (login-page))
(defun login-page ()
- (page (:title "V A M P I R E ~ LOGIN")
- (:div (:h1 "I vant to suck your blood")
- (:form :method "POST" :action (wknd:route-to 'create.session)
- (:input :placeholder "Name" :name "name")
- (:br)
- (:input :placeholder "Password" :type "password" :name "password")
- (:br)
- (:button :type "submit" "Click to Login"))
- (:a :href (wknd:route-to 'new-account.html)
- "Become Undead"))))
-
-
-
-
+ (page
+ "V A M P I R E ~ LOGIN"
+ (<div> (@ :class "title")
+ (<h1> "I vant to suck your blood")
+ (<form> (@ :method "POST" :action (wknd:route-to 'create.session))
+ (<input> (@ :placeholder "Name" :name "name"))
+ (<input> (@ :placeholder "Password" :type "password" :name "password"))
+ (<button> (@ :type "submit") "Click to Login"))
+ ($center
+ (<a> (@ :href (wknd:route-to 'new-account.html))
+ "Hath thou been bitten? Click here to become one of us...")))))