X-Git-Url: https://git.jsancho.org/?p=blog.git;a=blobdiff_plain;f=haunt.scm;h=9890d01d69c0c0b775d45a4194a416f76ba5771c;hp=3346228c0c3a74e402ffcfccb6557b6df0b810ef;hb=dcbcfe2cc214e8ee3ac2b016668d07b29f9cd43c;hpb=c1c59536eb431a37e96685f67d9fd622dc7a454c diff --git a/haunt.scm b/haunt.scm index 3346228..9890d01 100644 --- a/haunt.scm +++ b/haunt.scm @@ -17,56 +17,70 @@ #:layout (lambda (site title body) `((doctype "html") - (head - (meta (@ (charset "utf-8"))) - (title ,(string-append title " - " (site-title site))) - (link (@ (rel "stylesheet") (href "//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic"))) - ,(stylesheet "style.min") - ,(stylesheet "monokai.min") - ,(stylesheet "font-awesome.min") - ,(stylesheet "custom")) - (body - ,(let ((metadata (site-default-metadata site))) - `(aside - (div - (a (@ (href "/")) (img (@ (src ,(assoc-ref metadata 'picture))))) - (h1 (a (@ (href "/")) ,(assoc-ref metadata 'author))) - (p ,(assoc-ref metadata 'description)) - (nav - (ul (@ (class "list")) - ,@(map (lambda (page) - `(li (a (@ (href ,(cdr page))) ,(car page)))) - (assoc-ref metadata 'pages)))) - (ul (@ (class "social")) - (li (a (@ (class "sc-linkedin") (target "_blank") (href "")) (i (@ (class "fa fa-linkedin"))))) - " " - (li (a (@ (class "sc-github") (target "_blank") (href "")) (i (@ (class "fa fa-github"))))) - " " - (li (a (@ (class "sc-twitter") (target "_blank") (href "")) (i (@ (class "fa fa-twitter"))))) - " " - (li (a (@ (class "sc-rss") (target "_blank") (href "/feed.xml")) (i (@ (class "fa fa-rss"))))))))) - (main ,body)))) + (html + (head + (meta (@ (charset "utf-8"))) + (title ,(string-append title " - " (site-title site))) + (link (@ (rel "stylesheet") (href "//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic"))) + ,(stylesheet "style.min") + ,(stylesheet "monokai.min") + ,(stylesheet "font-awesome.min") + ,(stylesheet "custom") + (meta (@ (name "viewport") (content "width=device-width, initial-scale=1.0")))) + (body + ,(let ((metadata (site-default-metadata site))) + `(aside + (div + (a (@ (href "/")) (img (@ (src ,(assoc-ref metadata 'picture))))) + (h1 (a (@ (href "/")) ,(assoc-ref metadata 'author))) + (p ,(assoc-ref metadata 'description)) + (nav + (ul (@ (class "list")) + ,@(map (lambda (page) + `(li (a (@ (href ,(cdr page))) ,(car page)))) + (assoc-ref metadata 'pages)))) + (ul (@ (class "social")) + (li (a (@ (class "sc-linkedin") (target "_blank") (href "")) (i (@ (class "fa fa-linkedin"))))) + " " + (li (a (@ (class "sc-github") (target "_blank") (href "")) (i (@ (class "fa fa-github"))))) + " " + (li (a (@ (class "sc-twitter") (target "_blank") (href "")) (i (@ (class "fa fa-twitter"))))) + " " + (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,9 +104,9 @@ '((author . "Javier Sancho") (description . "Free Software Evangelist - Programmer") (email . "jsf@jsancho.org") - (picture . "/images/jsancho2.jpg") - (pages . (("sobre mi" . "about.html") - ("proyectos" . "http://git.jsancho.org/")))) + (picture . "/images/jsancho.jpg") + (pages . (("about" . "about.html") + ("projects" . "http://git.jsancho.org/")))) #:readers (list sxml-reader html-reader) #:builders (list (blog #:theme flex-theme #:collections %collections) (atom-feed)