]> git.jsancho.org Git - blog.git/blobdiff - haunt.scm
Separate post tags with commas
[blog.git] / haunt.scm
index 82f6f7f0df7a83447c79ce83758ceb39bf757921..7ad26eebc47d1e48cce23476d47d4f6bd9f05d62 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
 (define (get-tags post)
   (or (assoc-ref (post-metadata post) 'tags) '()))
 
+(define (post-date-and-tags date tags)
+  (let ((div `(div (@ (class "date-and-tags"))
+                  (time (@ (datetime ,(date->string date "~Y-~m-~dT~H:~M:~S")))
+                        ,(date->string date "~Y-~m-~d")))))
+    (cond ((> (length tags) 0)
+          (append div
+                  `(" "
+                    (span (@ (style "margin: 0 3px")) ⦿)
+                    (span (@ (class "tags"))
+                          ,@(drop-right
+                              (apply
+                               append
+                               (map (lambda (tag)
+                                      `((a (@ (href ,(format #f "tags/~a.html" tag))) ,tag) ", "))
+                                    tags))
+                              1)))))
+         (else
+          div))))
+
 (define flex-theme
   (theme #:name "Flex"
          #:layout
@@ -36,6 +55,7 @@
                (link (@ (rel "stylesheet") (href "https://fonts.googleapis.com/css?family=Merriweather+Sans:400,300,300italic,400italic,700,700italic,800,800italic|Merriweather:400,300,300italic,400italic,700,700italic,900,900italic|Source+Code+Pro:200,300,400,500,600,700,900")))
                ,(stylesheet "application.min")
                ,(stylesheet "pygments.min")
+               ,(stylesheet "custom")
                (meta (@ (name "viewport") (content "width=device-width, initial-scale=1.0"))))
               (body
                ,(let ((metadata (site-default-metadata site)))
 
         #:post-template
         (lambda (post)
-          `((article (@ (class "single"))
+          `((article (@ (class "inline"))
                      (header
-                      (h1 ,(post-ref post 'title))
-                      (p "Posted on " ,(date->string (post-date post) "~B ~d, ~Y")))
-                     ,(post-sxml post)
-                     (div (@ (class "tag-cloud"))
-                          (p
-                           ,@(map (lambda (tag)
-                                    `((a (@ (href "")) ,tag) " "))
-                                  (get-tags post)))))))
+                      (h1 (@ (class "title")) ,(post-ref post 'title))
+                      ,(post-date-and-tags (post-date post) (get-tags post)))
+                     ,(post-sxml post))))
 
          #:collection-template
          (lambda (site title posts prefix)
                                 (h2 (@ (class "title"))
                                     (a (@ (href ,(post-uri post)))
                                        ,(post-ref post 'title)))
-                                (div (@ (class "date-and-tags"))
-                                     (time (@ (datetime ,(date->string (post-date post) "~Y-~m-~dT~H:~M:~S")))
-                                           ,(date->string (post-date post) "~Y-~m-~d"))
-                                     " "
-                                     ,(let ((tags (get-tags post)))
-                                        (cond ((= (length tags) 0)
-                                               `(span (@ (style "margin: 0 3px")) ⦿)
-                                               `(span (@ (class "tags"))
-                                                     ,@(map (lambda (tag)
-                                                              `((a (@ (href (format #f "tags/~a.html" ,tag))) ,tag) " "))
-                                                            tags)))))))
+                                ,(post-date-and-tags (post-date post) (get-tags post)))
                                ,(post-summary post)
                                (footer (@ (class "read-more"))
-                                          (a (@ (href ,(post-uri post))) "...more..."))))
+                                          (a (@ (href ,(post-uri post))) "...read more..."))))
                    (posts/reverse-chronological posts))))))
 
 (define about-page