From aee7f487f97c10c15b6c7b48156cc95db19d9137 Mon Sep 17 00:00:00 2001 From: Grant Shoshin Shangreaux Date: Sat, 7 Jan 2023 11:12:15 -0600 Subject: First Draft of hero creation and login --- pages.lisp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pages.lisp (limited to 'pages.lisp') diff --git a/pages.lisp b/pages.lisp new file mode 100644 index 0000000..7bbf48b --- /dev/null +++ b/pages.lisp @@ -0,0 +1,30 @@ +;;;; pages.lisp -- html generation functions for dnd + +(defmacro with-page ((&key title) &body body) + `(with-html-string + (:doctype) + (:html + (:head + (:title ,title)) + (:body ,@body)))) + +(defun a-hero-is-born () + (with-page (:title "A Hero Is Born!") + (:header + (:h1 "A Hero Is Materializing From the Void...")) + (:form :method "POST" :action "/a-hero-is-born" + (:label :for "NAME" "Thy Hero's Appelation") + (:input :name "NAME") + (:button :type "submit")))) + +(defun doorkeeper () + (with-page (:title "Tavern Door") + (:h1 "Wot's yer name 'ero?") + (:form :method "POST" :action "/tavern-door" + (:label :for "NAME" "Thy Hero's Appelation") + (:input :name "NAME") + (:button :type "submit")))) + +(defun tavern (hero) + (with-page (:title "A Bustling Tavern") + (:h1 "Aye! Welcome " (hero-name hero)))) -- cgit v1.2.3