X-Git-Url: https://git.jsancho.org/?p=blog.git;a=blobdiff_plain;f=haunt.scm;h=068f123aa930d7535cf8b4931791c1dd0c95274d;hp=3346228c0c3a74e402ffcfccb6557b6df0b810ef;hb=664380eb29e50a662df9374ed6d41910605b2054;hpb=c1c59536eb431a37e96685f67d9fd622dc7a454c diff --git a/haunt.scm b/haunt.scm index 3346228..068f123 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