add page-specific copyright years
[~bandali/bndl.org] / haunt.scm
index eebcb13..7a225a9 100644 (file)
--- a/haunt.scm
+++ b/haunt.scm
@@ -18,7 +18,6 @@
   (string-append (symbol->string my-scheme) "://" my-domain))
 
 (define my-date-format "~B ~e, ~Y")
   (string-append (symbol->string my-scheme) "://" my-domain))
 
 (define my-date-format "~B ~e, ~Y")
-(define license-page-title "Licensing Information")
 
 (define (stylesheet name)
   `(link (@ (rel "stylesheet")
 
 (define (stylesheet name)
   `(link (@ (rel "stylesheet")
@@ -27,7 +26,7 @@
 (define* (aa content #:optional (uri content) . title)
   `(a (@ (href ,uri) (title ,(apply string-append title))) ,content))
 
 (define* (aa content #:optional (uri content) . title)
   `(a (@ (href ,uri) (title ,(apply string-append title))) ,content))
 
-(define* (base-layout site body #:key title)
+(define* (base-layout site body #:key title copy license-page?)
   `((doctype "html")
     (html
      (head
   `((doctype "html")
     (html
      (head
      (body
       (main ,body)
       (footer
      (body
       (main ,body)
       (footer
-       (p "Copyright © 2016–2019 Amin Bandali.  See "
-          ,(if (and (string? title)
-                    (string=? title license-page-title))
-               "the above" (aa "license.html" "/license.html"))
+       (p "Copyright © "
+          ,(if copy copy "2016–2019")
+          " Amin Bandali.  See "
+          ,(if license-page? "the above"
+               (aa "license.html" "/license.html"))
           " for license conditions.  Please copy and share."))))))
 
 
           " for license conditions.  Please copy and share."))))))
 
 
@@ -86,7 +86,8 @@
                `(tr
                  (td ,(aa (post-ref post 'title) (post-uri post)))
                  (td (@ (style "font-size: 0.875em;"))
                `(tr
                  (td ,(aa (post-ref post 'title) (post-uri post)))
                  (td (@ (style "font-size: 0.875em;"))
-                     ,(date->string (post-date post) my-date-format))))
+                     ,(date->string (post-date post)
+                                    my-date-format))))
              posts)))))
 
 (define bandali-theme
              posts)))))
 
 (define bandali-theme
          #:post-template my-post-template
          #:collection-template my-collection-template))
 
          #:post-template my-post-template
          #:collection-template my-collection-template))
 
-(define (static-page title file-name body)
+(define* (static-page title file-name body copy #:key license?)
   (lambda (site posts)
     (make-page file-name
   (lambda (site posts)
     (make-page file-name
-               (with-layout bandali-theme site title body)
+               (base-layout site body #:title title #:copy copy
+                            #:license-page? license?)
                sxml->html)))
 
 (define (index-material site posts)
                sxml->html)))
 
 (define (index-material site posts)
 
 (define license-page
   (static-page
 
 (define license-page
   (static-page
-   license-page-title
+   "Licensing Information"
    "license.html"
    `((h1 "License information for "
          ,(aa my-domain my-url))
    "license.html"
    `((h1 "License information for "
          ,(aa my-domain my-url))
       (li ,(aa "Various Licenses and Comments about Them"
                "https://www.gnu.org/licenses/license-list.html"))
       (li ,(aa "Proprietary Software Is Often Malware"
       (li ,(aa "Various Licenses and Comments about Them"
                "https://www.gnu.org/licenses/license-list.html"))
       (li ,(aa "Proprietary Software Is Often Malware"
-               "https://www.gnu.org/proprietary/proprietary.html"))))))
+               "https://www.gnu.org/proprietary/proprietary.html"))))
+      "2019"
+      #:license? #t))
 
 (define contact-page
   (static-page
 
 (define contact-page
   (static-page
       (li (del ,(aa "bandali0" "https://github.com/bandali0")
                " on GitHub"))
       (li (del ,(aa "bandali0" "https://twitter.com/bandali0")
       (li (del ,(aa "bandali0" "https://github.com/bandali0")
                " on GitHub"))
       (li (del ,(aa "bandali0" "https://twitter.com/bandali0")
-               " on Twitter"))))))
+               " on Twitter"))))
+   "2019"))
 
 (define cv-page
   (static-page
 
 (define cv-page
   (static-page
      (p "Teaching Assistant")
      (p (abbr (@ (title "Net-Centric Introduction to Computing"))
               "EECS 1012")
      (p "Teaching Assistant")
      (p (abbr (@ (title "Net-Centric Introduction to Computing"))
               "EECS 1012")
-        ": TA in Fall 2017"))))
+        ": TA in Fall 2017"))
+   "2019"))
 
 (define se212-f19-page
   (static-page
 
 (define se212-f19-page
   (static-page
       (li "Tutorial 8: —")
       (li "Tutorial 9: —")
       (li "Tutorial 10: worked through questions 1–10 of "
       (li "Tutorial 8: —")
       (li "Tutorial 9: —")
       (li "Tutorial 10: worked through questions 1–10 of "
-          "Homework 10")))))
+          "Homework 10")))
+   "2019"))
 
 (site #:title "Amin Bandali"
       ;; TODO: uncomment after new haunt release
 
 (site #:title "Amin Bandali"
       ;; TODO: uncomment after new haunt release