]> git.jsancho.org Git - blog.git/blobdiff - haunt.scm
Changes in "About me" page
[blog.git] / haunt.scm
index 068f123aa930d7535cf8b4931791c1dd0c95274d..fea8859f3e6b32450e61cf872b8116f42db0e299 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
@@ -2,50 +2,61 @@
              (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"
          #: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 "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-bitbucket") (target "_blank") (href "https://bitbucket.org/jsancho_gpl/")) (i (@ (class "fa fa-bitbucket")))))
+                         " "
+                         (li (a (@ (class "sc-github") (target "_blank") (href "https://github.com/jsancho-gpl")) (i (@ (class "fa fa-github")))))
+                         " "
+                         (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)))))
 
         #:post-template
         (lambda (post)
@@ -55,7 +66,7 @@
           `((article (@ (class "single"))
                      (header
                       (h1 ,(post-ref post 'title))
-                      (p ,(date->string* (post-date post))))
+                      (p "Posted on " ,(date->string (post-date post) "~B ~d, ~Y")))
                      ,(post-sxml post)
                      (div (@ (class "tag-cloud"))
                           (p
@@ -66,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)
                         (h2
                          (a (@ (href ,(post-uri post)))
                             ,(post-ref post 'title)))
-                        (p ,(date->string* (post-date post))))
+                        (p "Posted on " ,(date->string (post-date post) "~B ~d, ~Y")))
                        (div ,(post-summary post)
                             (br)
-                            (a (@ (class "btn") (href ,(post-uri post))) " Seguir leyendo "))
+                            (a (@ (class "btn") (href ,(post-uri post))) " Continue reading "))
                        (hr)))
                    (posts/reverse-chronological posts))))))
 
+(define about-page
+  (static-page
+   "About me"
+   "about.html"
+   `((div
+      (article
+       (header (h2 "About me"))
+       (img (@ (src "images/jsancho.jpg") (width "150") (height "150") (align "left") (style "margin: 10px;")))
+       (p "My name is Javier Sancho, and I am a programmer and a free software evangelist. I live in Castellón, Spain.")
+       (p "I met GNU/Linux and free software while I was studying Computer Science at " (a (@ (href "http://www.uji.es/")) "Universitat Jaume I") " and, since then, my commitment with these ideas hasn't stopped growing.")
+       (p "It was in 2003 when I started as an activist, participating in events related with free software, demonstrations against software patents, talks and information sessions at install parties, schools, etc.")
+       (p "I enjoy programming and I use the programming language that better fits my needs (Python, PHP, Golang, Erlang, ...). For many years my favorite language was C, although over time that privileged place has been occupied by Lisp y Scheme. I'm in love with the functional paradigm.")
+       (p "I'm married with a wonderful woman and we have a kid that amaze us every day. They are the best of my life.")
+       (p "Besides this blog, sometimes I share thoughts in " (a (@ (href "https://twitter.com/jsancho_gpl")) "Twitter") ". You can email me at " (a (@ (href "mailto:jsf@jsancho.org")) "jsf@jsancho.org") "."))))))
+
 (define %collections
   `(("Home" "index.html" ,posts/reverse-chronological)))
 
       '((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)
                        (atom-feeds-by-tag)
+                      about-page
                        (static-directory "images")
                        (static-directory "fonts")
                        (static-directory "css")))