Remove projects duplication.
[software/elephly-net.git] / haunt.scm
index b2dd1e0..b28e07b 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
@@ -1,3 +1,5 @@
+;; -*- geiser-scheme-implementation: guile -*-
+
 (use-modules (srfi srfi-1)  ; list stuff
              (srfi srfi-11) ; let-values
              (srfi srfi-19) ; date functions
 
 \f
 (define (photo-snippet post)
+  ;; TODO: derive alt-text from "photo" metadata
   (let ((meta (post-ref post 'photo)))
     (if meta
         `(img (@ (class "stretch full")
                  (src ,(string-append "/images/posts/" meta))))
         '())))
 
-(define (flattr-snippet post)
-  (let ((meta (post-ref post 'flattr)))
-    (if meta
-        `(a (@ (href ,(string-append "http://flattr.com/thing/" meta)))
-            (img (@ (title "Flattr this")
-                    (alt   "Flattr this")
-                    (src "http://api.flattr.com/button/flattr-badge-large.png"))))
-        '())))
-
 ;; TODO: use license
 (define (license-snippet post)
   (let ((meta (post-ref post 'license)))
@@ -143,7 +137,8 @@ FILTER: The procedure called to manipulate the posts list before rendering"
   (lambda (site posts)
     (define (tag-list tag posts all-posts)
       (define (render-list title posts prefix)
-        (let ((body ((theme-list-template theme) site title posts prefix all-posts tag)))
+        (let ((body ((theme-collection-template theme)
+                     site title posts prefix all-posts tag)))
           ((theme-layout theme) site title body)))
       (make-page (string-append "tags/" tag ".html")
                  (render-list (string-append "Posts tagged ‘" tag "’")
@@ -196,12 +191,10 @@ in parentheses."
               (type "text/css")
               (href "/css/screen.css")))
      (link (@ (rel "shortcut icon")
-              (href "http://elephly.net/favicon.ico")))
-     (script (@ (type "text/javascript") (src "/js/libs/jquery-1.6.2.min.js")))
+              (href "https://elephly.net/favicon.ico")))
      (script (@ (type "text/javascript") (src "/js/deobfuscate.js")))
      (script (@ (type "text/javascript") (src "/js/hyphenator/Hyphenator.js")))
-     (script (@ (type "text/javascript")) "Hyphenator.run();")
-     (script (@ (type "text/javascript") (src "/js/loadComments.js"))))
+     (script (@ (type "text/javascript")) "Hyphenator.run();"))
     (body (@ (id "top"))
           (div (@ (id "index"))
                (a (@ (href "/") (title "show index"))
@@ -216,7 +209,7 @@ in parentheses."
          #:layout default-layout
          #:post-template  ; TODO: should also take "site" for "site-post-slug"
          (lambda (post)
-           ;; TODO: similar version below for list-template
+           ;; TODO: similar version below for collection-template
            (define (post-uri post)
              (string-append "/posts/" (%make-slug post) ".html"))
            `((h1 (@ (class "donthyphenate")) ,(post-ref post 'title))
@@ -225,15 +218,13 @@ in parentheses."
                      ,(date->string* (post-date post))))
              ,(photo-snippet post)
              ,(post-sxml post)
-             ,(flattr-snippet post)
              ,(license-snippet post)
              (p (@ (class "back"))
                 (a (@ (href "/posts"))
                    "← other posts"))
-             (div (@ (id "disqus_thread")))
-             (a (@ (id "loadComments") (href "javascript:loadComments()"))
-                "Click to load Disqus comments")))
-         #:list-template
+             (div (@ (id "comments"))
+              (p "Comments?  Then send me an email!  Interesting comments may be published here."))))
+         #:collection-template
          (lambda* (site title posts prefix #:optional all-posts tag)
            (define (post-uri post)
              (string-append "/" (or prefix "") (site-post-slug site post) ".html"))
@@ -266,7 +257,7 @@ in parentheses."
 (define %make-slug post/file-base-name)
 
 (site #:title "Rekado"
-      #:domain "elephly.net"
+      #:domain "http://elephly.net"
       #:default-metadata
       '((author . "Ricardo Wurmus")
         (email  . "rekado+web@elephly.net"))
@@ -276,7 +267,7 @@ in parentheses."
                          (wrap-pages "non-posts" "." default-layout
                                      (list skribe-reader html-reader)))
                        (lambda _
-                         (directory-assets "static" "."))
+                         (directory-assets "static" (const #t) "."))
                        (blog #:theme elephly-theme
                              #:prefix "posts/")
                        (tag-pages #:theme elephly-theme
@@ -288,5 +279,5 @@ in parentheses."
                        (pin-blog-post "posts/2010-03-23-fur-man.skr"
                                       "fur-man.html"
                                       #:theme elephly-theme)
-                       (atom-feed)
-                       (atom-feeds-by-tag)))
+                       (atom-feed #:blog-prefix "/posts")
+                       (atom-feeds-by-tag #:blog-prefix "/posts")))