Browse code
feat(blog): update layout
Edward authored on 17/04/2021 05:51:06
Showing 1 changed files
Showing 1 changed files
... | ... |
@@ -73,15 +73,85 @@ |
73 | 73 |
(defmethod controller ((route post-route) params &key) |
74 | 74 |
(post route)) |
75 | 75 |
|
76 |
-(defmethod view ((name post-route) (post macropost)) |
|
76 |
+(defmethod view ((_ blog-route) post) |
|
77 |
+ '(404 (:content-type "text/plain") ("FAIL!"))) |
|
78 |
+ |
|
79 |
+(defun layout (f) |
|
77 | 80 |
(spinneret:with-html-string |
81 |
+ (:style |
|
82 |
+ ":root { |
|
83 |
+ --zenburn-fg-plus-2: #FFFFEF; --zenburn-fg-plus-1: #F5F5D6; |
|
84 |
+ --zenburn-fg: #DCDCCC; --zenburn-fg-1: #A6A689; |
|
85 |
+ --zenburn-fg-2: #656555; --zenburn-black: #000000; |
|
86 |
+ --zenburn-bg-2: #000000; --zenburn-bg-1: #111112; |
|
87 |
+ --zenburn-bg-05: #383838; --zenburn-bg: #2A2B2E; |
|
88 |
+ --zenburn-bg-plus-05: #494949; --zenburn-bg-plus-1: #4F4F4F; |
|
89 |
+ --zenburn-bg-plus-2: #5F5F5F; --zenburn-bg-plus-3: #6F6F6F; |
|
90 |
+ --zenburn-red-plus-2: #ECB3B3; --zenburn-red-plus-1: #DCA3A3; |
|
91 |
+ --zenburn-red: #CC9393; --zenburn-red-1: #BC8383; |
|
92 |
+ --zenburn-red-2: #AC7373; --zenburn-red-3: #9C6363; |
|
93 |
+ --zenburn-red-4: #8C5353; --zenburn-red-5: #7C4343; |
|
94 |
+ --zenburn-red-6: #6C3333; --zenburn-orange: #DFAF8F; |
|
95 |
+ --zenburn-yellow: #F0DFAF; --zenburn-yellow-1: #E0CF9F; |
|
96 |
+ --zenburn-yellow-2: #D0BF8F; --zenburn-green-5: #2F4F2F; |
|
97 |
+ --zenburn-green-4: #3F5F3F; --zenburn-green-3: #4F6F4F; |
|
98 |
+ --zenburn-green-2: #5F7F5F; --zenburn-green-1: #6F8F6F; |
|
99 |
+ --zenburn-green: #7F9F7F; --zenburn-green-plus-1: #8FB28F; |
|
100 |
+ --zenburn-green-plus-2: #9FC59F; --zenburn-green-plus-3: #AFD8AF; |
|
101 |
+ --zenburn-green-plus-4: #BFEBBF; --zenburn-cyan: #93E0E3; |
|
102 |
+ --zenburn-blue-plus-3: #BDE0F3; --zenburn-blue-plus-2: #ACE0E3; |
|
103 |
+ --zenburn-blue-plus-1: #94BFF3; --zenburn-blue: #8CD0D3; |
|
104 |
+ --zenburn-blue-1: #7CB8BB; --zenburn-blue-2: #6CA0A3; |
|
105 |
+ --zenburn-blue-3: #5C888B; --zenburn-blue-4: #4C7073; |
|
106 |
+ --zenburn-blue-5: #366060; --zenburn-magenta: #DC8CC3;}" |
|
107 |
+ (lass:compile-and-write |
|
108 |
+ `(* :box-sizing border-box) |
|
109 |
+ `((:or html body) |
|
110 |
+ :margin 0 |
|
111 |
+ :padding 0 |
|
112 |
+ :color (var "--zenburn-fg") |
|
113 |
+ :background (var "--zenburn-bg") |
|
114 |
+ :font-family sans-serif |
|
115 |
+ :font-size 16px |
|
116 |
+ :display grid |
|
117 |
+ :grid-template-areas "\"top top top\" |
|
118 |
+ \"left main main\" |
|
119 |
+ \"left main main\"") |
|
120 |
+ `((:or a) |
|
121 |
+ :margin 0 |
|
122 |
+ :padding 0 |
|
123 |
+ :color (var "--zenburn-blue") |
|
124 |
+ ) |
|
125 |
+ `((:or h1 h2 h3 h4 h5 h6) |
|
126 |
+ :font-size 1.1rem |
|
127 |
+ :margin 0 |
|
128 |
+ :padding 0) |
|
129 |
+ `((:and a :hover) |
|
130 |
+ :color (var "--zenburn-blue-1")) |
|
131 |
+ `(h1 :grid-area "top" :padding 2rem :font-size 3rem) |
|
132 |
+ `(nav :grid-area "left" :padding 2rem) |
|
133 |
+ `(main :grid-area "main" :padding 2rem 0 0 0))) |
|
134 |
+ (:h* "the site!") |
|
135 |
+ (:nav "aside") |
|
136 |
+ (:main (funcall f)))) |
|
137 |
+ |
|
138 |
+(defvar *layout-done* nil) |
|
139 |
+(defmethod view :around ((_ blog-route) post) |
|
140 |
+ (if *layout-done* |
|
141 |
+ (call-next-method) |
|
142 |
+ (let ((*layout-done* t)) |
|
143 |
+ (layout #'call-next-method)))) |
|
144 |
+ |
|
145 |
+(defmethod view ((name post-route) (post macropost)) |
|
146 |
+ (spinneret:with-html |
|
78 | 147 |
(:section |
79 | 148 |
(:h* (title post)) |
80 | 149 |
(:div |
81 | 150 |
(content post))))) |
82 | 151 |
|
83 | 152 |
(defmethod view ((name index-route) posts) |
84 |
- (spinneret:with-html-string |
|
153 |
+ (format *standard-output* "~&~S~%" posts) |
|
154 |
+ (spinneret:with-html |
|
85 | 155 |
(:section |
86 | 156 |
(:h* "Blog Index") |
87 | 157 |
(:div |