X-Git-Url: https://git.jsancho.org/?p=blog.git;a=blobdiff_plain;f=haunt.scm;h=8566cce52159dbbe10a4114f7184cd83ef648d68;hp=3346228c0c3a74e402ffcfccb6557b6df0b810ef;hb=2457aa1add40387c528f6100d7eb4b88cd922692;hpb=c1c59536eb431a37e96685f67d9fd622dc7a454c diff --git a/haunt.scm b/haunt.scm index 3346228..8566cce 100644 --- a/haunt.scm +++ b/haunt.scm @@ -46,27 +46,39 @@ " " (li (a (@ (class "sc-rss") (target "_blank") (href "/feed.xml")) (i (@ (class "fa fa-rss"))))))))) (main ,body)))) + #:post-template (lambda (post) + (define (get-tags post) + (or (assoc-ref (post-metadata post) 'tags) '())) + `((article (@ (class "single")) (header (h1 ,(post-ref post 'title)) (p ,(date->string* (post-date post)))) ,(post-sxml post) (div (@ (class "tag-cloud")) - (p (a (@ (href "")) "prueba")))))) + (p + ,@(map (lambda (tag) + `((a (@ (href "")) ,tag) " ")) + (get-tags post))))))) + #:collection-template (lambda (site title posts prefix) (define (post-uri post) (string-append "/" (or prefix "") (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 (post-summary post) (or (post-ref post 'summary) - (let get-first-par ((sxml (cdr (post-sxml post)))) - (cond ((null? sxml) "") - ((and (pair? (car sxml)) - (eq? (caar sxml) 'p)) (car sxml)) - (else (get-first-par (cdr sxml))))))) + (get-paragraphs (cdr (post-sxml post)) 3))) + `( ,@(map (lambda (post) `(article @@ -90,7 +102,7 @@ '((author . "Javier Sancho") (description . "Free Software Evangelist - Programmer") (email . "jsf@jsancho.org") - (picture . "/images/jsancho2.jpg") + (picture . "/images/jsancho.jpg") (pages . (("sobre mi" . "about.html") ("proyectos" . "http://git.jsancho.org/")))) #:readers (list sxml-reader html-reader)