Only count paragraphs for post summaries
[blog.git] / haunt.scm
index 70247b9..c594fd9 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
                   `(" "
                     (span (@ (style "margin: 0 3px")) ÔŽ┐)
                     (span (@ (class "tags"))
-                          ,@(map (lambda (tag)
-                                   `((a (@ (href ,(format #f "tags/~a.html" tag))) ,tag) " "))
-                                 tags)))))
+                          ,@(drop-right
+                              (apply
+                               append
+                               (map (lambda (tag)
+                                      `((a (@ (href ,(format #f "tags/~a.html" tag))) ,tag) ", "))
+                                    tags))
+                              1)))))
          (else
           div))))
 
@@ -51,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)))
                             (site-post-slug site post) ".html"))
 
           (define (get-paragraphs sxml count)
-            (let ((pars (filter
-                         (lambda (e) (and (pair? e) (eq? (car e) 'p)))
-                         sxml)))
-              (list-head pars (min count (length pars)))))
+             (define (getp sxml count res)
+               (cond ((or (= count 0) (null? sxml))
+                      res)
+                     ((and (pair? (car sxml)) (eq? (caar sxml) 'p))
+                      (getp (cdr sxml) (- count 1) (cons (car sxml) res)))
+                     (else
+                      (getp (cdr sxml) count (cons (car sxml) res)))))
+             (reverse (getp sxml count '())))
                     
            (define (post-summary post)
              (or (post-ref post 'summary)