X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=haunt.scm;h=d69f86cb969162a5359a4bfdaf05537ca4ad1faf;hb=dabb43901b6ab4f62df27e6890806b6d638f24f5;hp=15f7cc39581489ee3a8b40689995d381102faf16;hpb=1566b5771b9caeb6dcd637f2ede3f5eb8ae1bb3b;p=blog.git diff --git a/haunt.scm b/haunt.scm index 15f7cc3..d69f86c 100644 --- a/haunt.scm +++ b/haunt.scm @@ -2,15 +2,24 @@ (haunt builder blog) (haunt builder atom) (haunt builder assets) + (haunt html) + (haunt page) (haunt reader) (haunt reader texinfo) (haunt site) (haunt post) - (srfi srfi-1)) + (srfi srfi-1) + (srfi srfi-19)) (define (stylesheet name) `(link (@ (rel "stylesheet") - (href ,(string-append "/css/" name ".css"))))) + (href ,(string-append "css/" name ".css"))))) + +(define (static-page title file-name body) + (lambda (site posts) + (make-page file-name + (with-layout flex-theme site title body) + sxml->html))) (define flex-theme (theme #:name "Flex" @@ -31,8 +40,8 @@ ,(let ((metadata (site-default-metadata site))) `(aside (div - (a (@ (href "/")) (img (@ (src ,(assoc-ref metadata 'picture))))) - (h1 (a (@ (href "/")) ,(assoc-ref metadata 'author))) + (a (@ (href "index.html")) (img (@ (src ,(assoc-ref metadata 'picture))))) + (h1 (a (@ (href "index.html")) ,(assoc-ref metadata 'author))) (p ,(assoc-ref metadata 'description)) (nav (ul (@ (class "list")) @@ -46,7 +55,7 @@ " " (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"))))))))) + (li (a (@ (class "sc-rss") (target "_blank") (href "feed.xml")) (i (@ (class "fa fa-rss"))))))))) (main ,body))))) #:post-template @@ -57,7 +66,7 @@ `((article (@ (class "single")) (header (h1 ,(post-ref post 'title)) - (p ,(date->string* (post-date post)))) + (p "Publicado el " ,(date->string (post-date post) "~d/~m/~Y"))) ,(post-sxml post) (div (@ (class "tag-cloud")) (p @@ -68,7 +77,7 @@ #:collection-template (lambda (site title posts prefix) (define (post-uri post) - (string-append "/" (or prefix "") + (string-append (or prefix "") (site-post-slug site post) ".html")) (define (get-paragraphs sxml count) @@ -88,29 +97,43 @@ (h2 (a (@ (href ,(post-uri post))) ,(post-ref post 'title))) - (p ,(date->string* (post-date post)))) + (p "Publicado el " ,(date->string (post-date post) "~d/~m/~Y"))) (div ,(post-summary post) (br) (a (@ (class "btn") (href ,(post-uri post))) " Seguir leyendo ")) (hr))) (posts/reverse-chronological posts)))))) +(define about-page + (static-page + "Sobre mi" + "about.html" + `((div + (article + (header (h2 "Sobre mi")) + (p "Conocí GNU/Linux y el software libre durante mis estudios universitarios en la " (a (@ (href "http://www.uji.es/")) "Universitat Jaume I") " y desde entonces mi compromiso con esas ideas ha ido en aumento.") + (p "Fue en 2003 cuando empecé como activista, participando en eventos relacionados con el software libre, manifestaciones en contra de las patentes de software, charlas y jornadas informativas en parties, institutos, etc.") + (p "Disfruto programando y lo hago con el lenguaje que más se ajuste a mis necesidades (Python, PHP, Golang, Erlang, ...). Durante muchos años mi lenguaje favorito fue C, aunque con el tiempo ese lugar privilegiado han pasado a ocuparlo Lisp y Scheme a partes iguales. Soy un enamorado del paradigma funcional.") + (p "Estoy casado con una mujer maravillosa y tengo un hijo que no deja de sorprenderme cada día. Son mi mayor alegría.")))))) + (define %collections `(("Home" "index.html" ,posts/reverse-chronological))) (site #:title "Javier Sancho" #:domain "jsancho.org" + #:build-directory "site-spanish" #:default-metadata '((author . "Javier Sancho") - (description . "Free Software Evangelist - Programmer") + (description . "Evangelizador del software libre - Programador") (email . "jsf@jsancho.org") - (picture . "/images/jsancho.jpg") + (picture . "images/jsancho.jpg") (pages . (("sobre mi" . "about.html") ("proyectos" . "http://git.jsancho.org/")))) #:readers (list sxml-reader html-reader) #:builders (list (blog #:theme flex-theme #:collections %collections) (atom-feed) (atom-feeds-by-tag) + about-page (static-directory "images") (static-directory "fonts") (static-directory "css")))