]> git.jsancho.org Git - blog.git/blobdiff - haunt.scm
Merge branch 'master' into spanish
[blog.git] / haunt.scm
index 7d04d1bd3c92fc2cfbec82c3762d12e9d7d1b4af..5003a42540f531ec8634f520471cad1d7b51c1ba 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
               (with-layout flex-theme site title body)
               sxml->html)))
 
+(define (get-tags post)
+  (or (assoc-ref (post-metadata post) 'tags) '()))
+
+(define (post-date-and-tags date tags)
+  (let ((div `(div (@ (class "date-and-tags"))
+                  (time (@ (datetime ,(date->string date "~Y-~m-~dT~H:~M:~S")))
+                        ,(date->string date "~Y-~m-~d")))))
+    (cond ((> (length tags) 0)
+          (append div
+                  `(" "
+                    (span (@ (style "margin: 0 3px")) ⦿)
+                    (span (@ (class "tags"))
+                          ,@(drop-right
+                              (apply
+                               append
+                               (map (lambda (tag)
+                                      `((a (@ (href ,(format #f "tags/~a.html" tag))) ,tag) ", "))
+                                    tags))
+                              1)))))
+         (else
+          div))))
+
 (define flex-theme
   (theme #:name "Flex"
          #:layout
               (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")
+               (link (@ (rel "stylesheet") (href "https://fonts.googleapis.com/css?family=Merriweather+Sans:400,300,300italic,400italic,700,700italic,800,800italic|Merriweather:400,300,300italic,400italic,700,700italic,900,900italic|Source+Code+Pro:200,300,400,500,600,700,900")))
+               ,(stylesheet "application.min")
+               ,(stylesheet "pygments.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 "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"))
-                          ,@(map (lambda (page)
-                                   `(li (a (@ (href ,(cdr page))) ,(car page))))
-                                 (assoc-ref metadata 'pages))))
-                     (ul (@ (class "social"))
-                         (li (a (@ (class "sc-twitter") (target "_blank") (href "https://twitter.com/jsancho_gpl")) (i (@ (class "fa fa-twitter")))))
-                         " "
-                         (li (a (@ (class "sc-rss") (target "_blank") (href "feed.xml")) (i (@ (class "fa fa-rss")))))))))
-               (main ,body)))))
+                  `(div (@ (id "page-content"))
+                       (header
+                        (nav (@ (role "navigation") (class "navigation-bar"))
+                             (ul (@ (class "navigation-items left"))
+                                 (li (@ (id "blog-title-header"))
+                                     (a (@ (href "index.html"))
+                                        (h1 ,(assoc-ref metadata 'author)))))
+                             (ul (@ (class "navigation-items center"))
+                                 (li (a (@ (href "https://en.jsancho.org/")) "in english")))
+                             (ul (@ (class "navigation-items right"))
+                                 ,@(map (lambda (page)
+                                          `(li (a (@ (href ,(cdr page))) ,(car page))))
+                                        (assoc-ref metadata 'pages)))))
+                       (section (@ (role "main"))
+                                (div (@ (class "content") (class "col-md-12")) ,body))))))))
 
         #:post-template
         (lambda (post)
-          (define (get-tags post)
-            (or (assoc-ref (post-metadata post) 'tags) '()))
-
-          `((article (@ (class "single"))
+          `((article (@ (class "inline"))
                      (header
-                      (h1 ,(post-ref post 'title))
-                      (p "Publicado el " ,(date->string (post-date post) "~d/~m/~Y")))
-                     ,(post-sxml post)
-                     (div (@ (class "tag-cloud"))
-                          (p
-                           ,@(map (lambda (tag)
-                                    `((a (@ (href "")) ,tag) " "))
-                                  (get-tags post)))))))
+                      (h1 (@ (class "title")) ,(post-ref post 'title))
+                      ,(post-date-and-tags (post-date post) (get-tags post)))
+                     ,(post-sxml post))))
 
          #:collection-template
          (lambda (site title posts prefix)
 
            `(
             ,@(map (lambda (post)
-                     `(article
-                       (header
-                        (h2
-                         (a (@ (href ,(post-uri post)))
-                            ,(post-ref post 'title)))
-                        (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)))
+                     `(article (@ (class "inline"))
+                               (header
+                                (h2 (@ (class "title"))
+                                    (a (@ (href ,(post-uri post)))
+                                       ,(post-ref post 'title)))
+                                ,(post-date-and-tags (post-date post) (get-tags post)))
+                               ,(post-summary post)
+                               (footer (@ (class "read-more"))
+                                          (a (@ (href ,(post-uri post))) "...seguir leyendo..."))))
                    (posts/reverse-chronological posts))))))
 
 (define about-page
    `((div
       (article
        (header (h2 "Sobre mi"))
+       (img (@ (src "images/jsancho.jpg") (width "150") (height "150") (align "left") (style "margin: 10px;")))
+       (p "Me llamo Javier Sancho y soy programador y defensor del software libre. Vivo en Castellón, España.")
        (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."))))))
+       (p "Estoy casado con una mujer maravillosa y tengo un hijo que no deja de sorprenderme cada día. Son mi mayor alegría.")
+       (p "Aparte de este blog, a veces comparto pensamientos en " (a (@ (href "https://twitter.com/jsancho_gpl")) "Twitter") ". Puedes contactar conmigo en " (a (@ (href "mailto:jsf@jsancho.org")) "jsf@jsancho.org") "."))))))
 
 (define %collections
   `(("Home" "index.html" ,posts/reverse-chronological)))
         (description . "Evangelizador del software libre - Programador")
         (email . "jsf@jsancho.org")
         (picture . "images/jsancho.jpg")
-        (pages . (("sobre mi" . "about.html")
-                  ("proyectos" . "http://git.jsancho.org/"))))
+        (pages . (("proyectos" . "http://git.jsancho.org/")
+                 ("sobre mi" . "about.html"))))
       #:readers (list sxml-reader html-reader)
       #:builders (list (blog #:theme flex-theme #:collections %collections)
                        (atom-feed)