]> git.jsancho.org Git - blog.git/blob - haunt.scm
Fix transaction image
[blog.git] / haunt.scm
1 (use-modules (haunt asset)
2              (haunt builder blog)
3              (haunt builder atom)
4              (haunt builder assets)
5              (haunt reader)
6              (haunt reader texinfo)
7              (haunt site)
8              (haunt post)
9              (srfi srfi-1))
10
11 (define (stylesheet name)
12   `(link (@ (rel "stylesheet")
13             (href ,(string-append "/css/" name ".css")))))
14
15 (define flex-theme
16   (theme #:name "Flex"
17          #:layout
18          (lambda (site title body)
19            `((doctype "html")
20              (head
21               (meta (@ (charset "utf-8")))
22               (title ,(string-append title " - " (site-title site)))
23               (link (@ (rel "stylesheet") (href "//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic")))
24               ,(stylesheet "style.min")
25               ,(stylesheet "monokai.min")
26               ,(stylesheet "font-awesome.min")
27               ,(stylesheet "custom"))
28              (body
29               ,(let ((metadata (site-default-metadata site)))
30                  `(aside
31                    (div
32                     (a (@ (href "/")) (img (@ (src ,(assoc-ref metadata 'picture)))))
33                     (h1 (a (@ (href "/")) ,(assoc-ref metadata 'author)))
34                     (p ,(assoc-ref metadata 'description))
35                     (nav
36                      (ul (@ (class "list"))
37                          ,@(map (lambda (page)
38                                   `(li (a (@ (href ,(cdr page))) ,(car page))))
39                                 (assoc-ref metadata 'pages))))
40                     (ul (@ (class "social"))
41                         (li (a (@ (class "sc-linkedin") (target "_blank") (href "")) (i (@ (class "fa fa-linkedin")))))
42                         " "
43                         (li (a (@ (class "sc-github") (target "_blank") (href "")) (i (@ (class "fa fa-github")))))
44                         " "
45                         (li (a (@ (class "sc-twitter") (target "_blank") (href "")) (i (@ (class "fa fa-twitter")))))
46                         " "
47                         (li (a (@ (class "sc-rss") (target "_blank") (href "/feed.xml")) (i (@ (class "fa fa-rss")))))))))
48               (main ,body))))
49          #:post-template
50          (lambda (post)
51            `((article (@ (class "single"))
52                       (header
53                        (h1 ,(post-ref post 'title))
54                        (p ,(date->string* (post-date post))))
55                       ,(post-sxml post)
56                       (div (@ (class "tag-cloud"))
57                            (p (a (@ (href "")) "prueba"))))))
58          #:collection-template
59          (lambda (site title posts prefix)
60            (define (post-uri post)
61              (string-append "/" (or prefix "")
62                             (site-post-slug site post) ".html"))
63            (define (post-summary post)
64              (or (post-ref post 'summary)
65                  (let get-first-par ((sxml (cdr (post-sxml post))))
66                    (cond ((null? sxml) "")
67                          ((and (pair? (car sxml))
68                                (eq? (caar sxml) 'p)) (car sxml))
69                          (else (get-first-par (cdr sxml)))))))
70            `(
71              ,@(map (lambda (post)
72                       `(article
73                         (header
74                          (h2
75                           (a (@ (href ,(post-uri post)))
76                              ,(post-ref post 'title)))
77                          (p ,(date->string* (post-date post))))
78                         (div ,(post-summary post)
79                              (br)
80                              (a (@ (class "btn") (href ,(post-uri post))) " Seguir leyendo "))
81                         (hr)))
82                     (posts/reverse-chronological posts))))))
83
84 (define %collections
85   `(("Home" "index.html" ,posts/reverse-chronological)))
86
87 (site #:title "Javier Sancho"
88       #:domain "jsancho.org"
89       #:default-metadata
90       '((author . "Javier Sancho")
91         (description . "Free Software Evangelist - Programmer")
92         (email . "jsf@jsancho.org")
93         (picture . "/images/jsancho2.jpg")
94         (pages . (("sobre mi" . "about.html")
95                   ("proyectos" . "http://git.jsancho.org/"))))
96       #:readers (list sxml-reader html-reader)
97       #:builders (list (blog #:theme flex-theme #:collections %collections)
98                        (atom-feed)
99                        (atom-feeds-by-tag)
100                        (static-directory "images")
101                        (static-directory "fonts")
102                        (static-directory "css")))