]> git.jsancho.org Git - blog.git/blobdiff - haunt.scm
Merge branch 'master' into english
[blog.git] / haunt.scm
index 6c83826d22cb41041707a970945c299a1f7289e8..3554f3594aa3319bbfa21efabc0b22fcafa6e2ae 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))))
 
@@ -63,7 +67,7 @@
                                      (a (@ (href "index.html"))
                                         (h1 ,(assoc-ref metadata 'author)))))
                              (ul (@ (class "navigation-items center"))
-                                 (li (a (@ (href "https://jsancho.org/")) "in spanish")))
+                                 (li (a (@ (href "https://www.jsancho.org/")) "in spanish")))
                              (ul (@ (class "navigation-items right"))
                                  ,@(map (lambda (page)
                                           `(li (a (@ (href ,(cdr page))) ,(car page))))
                             (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)
-                (get-paragraphs (cdr (post-sxml post)) 3)))
+                (get-paragraphs (cdar (post-sxml post)) 3)))
 
            `(
             ,@(map (lambda (post)