]> git.jsancho.org Git - blog.git/blobdiff - haunt.scm
Only count paragraphs for post summaries
[blog.git] / haunt.scm
index 96838c43ff357632b203a1d04777bcdb89bd3fa2..c594fd9548e9e0d48c690511f1bed746990fec5e 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
                   `(" "
                     (span (@ (style "margin: 0 3px")) ⦿)
                     (span (@ (class "tags"))
                   `(" "
                     (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))))
 
          (else
           div))))
 
                             (site-post-slug site post) ".html"))
 
           (define (get-paragraphs sxml count)
                             (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)
                     
            (define (post-summary post)
              (or (post-ref post 'summary)